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

单机模式

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

在 IDEA 中用 Nacos2.1.0 源码启动集群模式并调试_第1张图片

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

在 IDEA 中用 Nacos2.1.0 源码启动集群模式并调试_第2张图片

集群模式

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

在 IDEA 中用 Nacos2.1.0 源码启动集群模式并调试_第3张图片

所以启动一个 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+端口 命名。

在 IDEA 中用 Nacos2.1.0 源码启动集群模式并调试_第4张图片

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

在 IDEA 中用 Nacos2.1.0 源码启动集群模式并调试_第5张图片

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

在 IDEA 中用 Nacos2.1.0 源码启动集群模式并调试_第6张图片

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

在 IDEA 中用 Nacos2.1.0 源码启动集群模式并调试_第7张图片

指定使用端口号:

-Dserver.port=8852

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

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

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

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

在 IDEA 中用 Nacos2.1.0 源码启动集群模式并调试_第8张图片

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

在 IDEA 中用 Nacos2.1.0 源码启动集群模式并调试_第9张图片在 IDEA 中用 Nacos2.1.0 源码启动集群模式并调试_第10张图片

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

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

你可能感兴趣的:(Nacos,java)