在一台机器上面搭建 nacos-server-2.2.3 集群,启动集群抛 “Failed to bind to address 0.0.0.0/0.0.0.0:9848,java.net.BindException: Address already in use: bind” 错误。
原因分析
Nacos 默认端口是 8848,2.0 版本后另外还占用 9848,9849 两个端口,这两个是 gRPC 端口,用于服务端与客户端通讯,所以在单机上配置集群节点,节点要配置的端口不能连续,否则在启动时报端口占用的错误。
9848 端口:与主端口(8848)偏移量为 1000,用来客户端gRPC请求服务端口,用户客户端向服务端发起连接和请求
9849 端口:与主端口(8848)偏移量为 1001,用来服务端gRPC请求服务端口,用于服务间同步等
注意:Nacos 单机集群,端口不能连续;而且 Nginx 反向代理,需要配置 gRPC 端口映射。
例如,我们使用连续端口:
8847 -> gRPC 端口:9847,9848
8848 -> gRPC 端口:9848,9849
8849 -> gRPC 端口:9849,9850
上面连续端口根据偏移量计算出的 gRPC 端口中,9848、9849 两个端口冲突了,所以启动失败。
原文来自:https://www.hxstrive.com/article/1279.htm#google_vignette
标签:单机,gRPC,0.0,端口,nacos,集群,9849,9848 From: https://www.cnblogs.com/velloLei/p/18418505