问题:nacos2.x.x启动报错Error creating bean with name ‘grpcClusterServer’: Invocation of init method failed; nested exception is java.io.IOException: Failed to bind
在 IDEA 中搭建 Nacos2.1.0 源码并以集群模式启动,一直报上面这个错误,真的无语至极。
主要问题是 Nacos2.1.0 版本的代码中新添加 grpc 通信包,这个 grpc 需要额外开辟两个端口用来通信。
而且这两个端口生成有一定的规范,如下图示:
可以清楚的看见,如果你的 Nacos 源码以 8848 端口启动的话,在 Nacos2.1.0 中需要开辟 9848、9849 额外端口,所以你启动一个 Nacos 服务一下子就消耗掉了三个端口,分别是:8848、9848、9849
所以你在启动集群的时候一定要注意这几个端口是否被占用。
查看端口占用命令:
lsof -i:端口号
杀死端口号
kill -9 进程号(通过 lsof 可以查看到进程号 PID)