zookeeper报错Have smaller server identifier, so dropping the connection

本文描述了一次Zookeeper集群中一台服务器无法与其他节点连接的问题,日志显示由于服务器标识较小,导致连接被断开。尝试按照网络上的建议重启服务器并未解决问题。最终发现故障机器的主机文件配置不正确,主机名解析为127.0.0.1,修正为主机名解析为localhost并重启服务后,Zookeeper服务恢复正常。

三台zookeeper,其中一台连接不上其他两台了,查看日志报错

 

Have smaller server identifier, so dropping the connection: (2, 1)

其他机器也报错连不上这个机器了,使用zkCli.sh无法连接成功该zk节点

 

解决方案: 保持这台有问题zk的现状, 按myid从小到大依次重启其他的zk机器;
原因: zk是需要集群中所有机器两两建立连接的, 其中配置中的3555端口是用来进行选举时机器直接建立通讯的端口, 大id的server才会去连接小id的server,避免连接浪费.如果是最后重启myid最小的实例,该实例将不能加入到集群中, 因为不能和其他集群建立连接

上面是网上给出的解决方案,我尝试过以后,还是不能解决我的问题,然后又经过仔细检查以后,发现出问题的这一台机器,host文件有点问题,故障时host里配置的是 127.0.0.1  加主机名。我把host改成了127.0.0.1  localhost,然后重启所有zookeeper服务,发现服务正常启动了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值