前言
最近在搭建zookeeper集群,基础是3台机器(一台ubuntu 和 两台 Centos )
单机的情况下都能够运行,但是一旦配置好myid和zoo.cfg后就发现一运行zookeeper后,过一秒zookeeper自动断开了。
使用zkServer.sh start-foreground 查看异常时,第一句是Cannot assign requested address,后面就是蝴蝶效应的无法连接某某ip的端口
尝试过的方案:
1. 关闭防火墙(没用,前提也把所有安全组放行了)
2. 删除zkData文件中的数据,保留myid(没用)
解决方案
将zoo.cfg中的集群配置,属于本机的ip改成0.0.0.0
例如原来的其中一台:
server.编号=ip.通讯port.选举port
server.编号=ip.通讯port.选举port
server.编号=ip.通讯port.选举port
改为:
server.编号=0.0.0.0.通讯port.选举port
server.编号=ip.通讯port.选举port
server.编号=ip.通讯port.选举port
重新布局三次,即可。
最后依次zkServer.sh restart 即可,服务器过半启动zookeeper时,等待10秒左右,就可以了。
再次zkServer.sh status查看状态就发现选举完成。