在 IDEA 中用 Nacos2.1.0 源码启动集群模式并调试

单机模式

1、源码 clone 下来之后 2、导入 IDEA 3、compile 编译(主要是让 proto 和 istio 能够自动生成 Java 类),如果没生成,切换个 Maven直接再来一次即可。

4、单机模式很简单,就是在 VM 配置参数:-Dnacos.standalone=true 5、最后找到 nacos 类,的 main() 方法启动即可

集群模式

搭建集群前需要注意一个问题:在 Nacos2.x.x 版本中新添加了 grpc 通信协议,所以会额外开辟两个端口,而且这个两个端口是有规范的。如下图示:

所以启动一个 Nacos 服务就会占用三个端口号,注意启动第二个 Nacos 服务的时候不要和这三个端口冲突了,不然启动不了。

查看端口占用命令:

lsof -i:端口号

杀死端口号

kill -9 进程号(通过 lsof 可以查看到进程号 PID)

配置并启动集群

1、准备搭建三台 Nacos 集群,先规划下使用的端口号,如下:

第一台服务器使用 8848 端口,那么 grpc 端口就是 9848、9849 (这两个端口是默认生成的你好无感知的哦) 第二台服务器使用 8850 端口,那么 grpc 端口就是 9850、9851 (这两个端口是默认生成的你好无感知的哦) 第三台服务器使用 8852 端口,那么 grpc 端口就是 9852、9853 (这两个端口是默认生成的你好无感知的哦)

2、找个地方新建三个文件夹 8848、8850、8852,相当于是工作目录,用来隔离三台 Nacos 服务节点,注意生产环境的集群名称一般是以 aplicationName+端口 命名。

3、文件夹建好了,一定一定一定要在每个文件夹下面再创建一个 conf 文件夹,以为源码中默认路径是从 conf 路径

4、conf 建立之后,在 conf 文件夹下面创建一个 cluster.conf,注意名称不要乱改,源码中读取的路径就是 conf/cluster.conf,然后再在 cluster.conf 文件中配置需要启动的 Nacos 【服务节点 IP:端口号 】

5、配置文件配置好之后,就需要在 VM 参数中指定 Nacos 使用的端口号,并且读取哪个配置文件,如下图示:

指定使用端口号:

-Dserver.port=8852

指定让这台 Nacos 节点使用我们刚刚在上面配置好的的三个文件夹中的 8852 文件夹中的配置

Dnacos.home=/Users/gongweiming/IdeaProjects/nacos/8852

注意这两个 VM 设置中间使用空格隔开

其他两台也是循环上面步骤,然后分别启动即可,如下:

最后再来查看一下启动这三个 Nacos 有没有效果,进入到其中一台 Nacos 管理页面,在里面创建一个配置,然后再看另外两台 Nacos 节点是否有在第一台创建的配置。

可以看到已经成功的在 IDEA 中以源码的方式部署了 Nacos 集群。根本不需要将什么 Nacos 复制三份,没这必要。

最后你可以查看下本地启动三台 Nacos 服务节点总共消耗了 9 个端口号。主要是 grpc 确实是比 httpclient 快多了。

经验分享 程序员 微信小程序 职场和发展