Nacos解析-本地运行源码

本文介绍了如何从源码层面搭建并运行Nacos 2.0.3版本。首先解决编译报错,通过下载protoc工具生成缺失的Java代码。接着设置启动参数,包括JVM参数和应用程序参数。最后,通过运行Nacos.java启动Nacos服务,成功后可在浏览器中访问Nacos控制台。
摘要由CSDN通过智能技术生成

本文基于nacos-2.0.3版本

本文是解析nacos的第一篇文章,使用的是nacos-2.0.3版本。github地址:https://github.com/alibaba/nacos.git
要分析源码,首先需要在本地运行源码。下载完成后,nacos是无法直接运行的,需要对源码做一些改动。下面介绍我对nacos所做的改动。

一、解决编译报错

代码下载后,idea会报错,提示缺少com.alibaba.nacos.consistency.entity包下的类。
这是因为nacos使用了protobuf作为序列化工具,我们需要使用protoc工具生产缺少的代码。

1、下载protoc

从https://github.com/protocolbuffers/protobuf/releases网页上下载与系统对应的压缩文件。
在这里插入图片描述
本地解压后,得到protoc.exe文件:
在这里插入图片描述

2、生成缺失代码

使用cmd命令进入到源码的consistency/src/main/proto/路径下。
在该路径下执行如下命令:

protoc --java_out=…/java/ ./consistency.proto
protoc --java_out=…/java/ ./Data.proto

执行完成后com.alibaba.nacos.consistency.entity包下会生成缺失的代码。

二、设置启动参数

启动之前,还需要配置启动参数。
我们可以查看bin目录下的startup.cmd或者startup.sh获得启动参数。
下面以windows为例做介绍。
下面是startup.cmd文件的最后几行代码:

set COMMAND="%JAVA%" %NACOS_JVM_OPTS% %NACOS_OPTS% %NACOS_CONFIG_OPTS% %NACOS_LOG4J_OPTS% nacos.nacos %*
echo %COMMAND%  //为例查看完整命令,我自己添加了该行代码
rem start nacos command
%COMMAND%

上面的 COMMAND 就是需要执行的完整命令,打印出来如下:

“java.exe”
-server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=“D:\nacos”\logs\java_heapdump.hprof -XX:-UseLargePages -Dloader.path=“D:\nacos”/plugins/health,“D:\nacos”/plugins/cmdb -Dnacos.home=“D:\nacos”
-jar “D:\nacos”\target\nacos-server.jar
–spring.config.additional-location=file:“D:\nacos”/conf/ --logging.config=“D:\nacos”/conf/nacos-logback.xml
nacos.nacos

在上面“-jar”之前的属于JVM的参数,“-jar”之后的属于应用程序参数,也就是main方法入参args的值,分别设置到idea里面:
在这里插入图片描述

三、启动

nacos的启动类是console/src/main/java/com/alibaba/nacos/Nacos.java
运行该类,
在这里插入图片描述
上图表示启动成功。
在浏览器里面打开http://localhost:8848/nacos,用户名和密码都是nacos
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值