【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分别访问来验证。
恭喜,都启动成功了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人