【Nacos】Nacos2+集群部署报错(Error creating bean with name ‘grpcSdkServer‘)

摘要

最近在学习nacos,从单机部署的学习(客户端拉去、服务端推送、服务端长轮询、服务鉴权等源码学习)到现在即将要学习nacos的集群部署,没想到一上来就遇到了一个部署上的问题。

问题复现

按照官方文档的配置用mvn编译出nacos-server.jar后复制了3份,并修改了application.properties的端口配置

 又修改了/conf/cluster.conf文件为

127.0.0.1:8850
127.0.0.1:8851
127.0.0.1:8852

在使用sh bin/startup.sh来启动3个nacos服务。结果出现了非常奇怪的现象:127.0.0.1:8850和127.0.0.1:8852能启动成功,但是127.0.0.1:8851启动失败

下面贴出logs/start.out的截图

 

 经过了解,nacos2.0+版本新增了gRPC。这会导致:

需要的端口是8850,但是却需要额外占用9850(偏移1000)和9951(偏移1001)

需要的端口是8851,但是却需要额外占用9851(偏移1000)和9852(偏移1001)

需要的端口是8852,但是却需要额外占用9852(偏移1000)和9853(偏移1001)

所以当8850启动后,8851会因为9851的端口被占用而失败,8852因为端口正常所以可以正常启动。

解决方案

集群的每个端口需要至少相差2,我这里靠的紧一点把端口分别改为8850,8852,8854

1. 把8851中的application.properties的port改为8854

2. 修改3个节点中的cluster.conf文件

127.0.0.1:8850
127.0.0.1:8852
127.0.0.1:8854

3. 重新启动,并用localhost:885x/nacos分别访问来验证。

恭喜,都启动成功了。

 

posted @   浙江棋棋  阅读(1225)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示