我在使用3台ECS搭建zookeeper集群的时候成功启动了QuorumPeerMain进程但是服务器之间无法连接报connection refused错误,尝试更改服务器的安全组策略失败。
后发现是因为我的ECS实例是使用“专有网络” + 弹性公网IP地址,但是因为服务器的弹性公网ip是独立于ECS之外的,因此不能直接在ECS实例的程序中绑定自己的公网ip地址,而是应该使用0.0.0.0这一ip地址来进行绑定
因此,修改每一个服务器的zoo.cfg文件将
server.1=ali:2888:3888
server.2=tencent:2888:3888
server.3=huawei:2888:3888
这一部分的自己的ip地址修改为0.0.0.0
例如在ali ECS实例中的这一部分配置信息应该为
server.1=0.0.0.0:2888:3888
server.2=tencent:2888:3888
server.3=huawei:2888:3888
然后进行启动,成功