zookeeper提示Unable to read additional data from server sessionid 0x

配置zookeeper集群,一开始配置了两台机器server.1和server.2。

配置参数,在zoo.cfg中指定了整个zookeeper集群的server编号、地址和端口:

server.1=10.10.16.151:2888:3888
server.2=10.10.16.234:2888:3888

然后为这两个个节点创建对应的编号文件,在/tmp/zookeeper/data/myid文件中。如下:

server.1=10.10.16.151机器上执行:

echo 1 > /tmp/zookeeper/data/myid

server.1=10.10.16.234机器上执行:

echo 2 > /tmp/zookeeper/data/myid

启动server.1测试dubbo服务,使用zkServer.sh start启动了server.1,然后使用zkServer.sh status查看工作状态,显示

Error contacting service. It is probably not running.

通过zkCli.sh -server 10.10.16.151:2181查看服务详细,发现服务提示了下面的错误信息。

启动时提示:

2017-09-15 14:57:27,139 [myid:] - INFO  [main-SendThread(10.10.16.151:2181):ClientCnxn$SendThread@1035] - Opening socket connection to server 10.10.16.151/10.10.16.151:2181. Will not attempt to authenticate using SASL (java.lang.SecurityException: Ϟ·¨¶¨λµȂ¼Ƥ׃)
2017-09-15 14:57:27,140 [myid:] - INFO  [main-SendThread(10.10.16.151:2181):ClientCnxn$SendThread@877] - Socket connection established to 10.10.16.151/10.10.16.151:2181, initiating session
2017-09-15 14:57:27,143 [myid:] - INFO  [main-SendThread(10.10.16.151:2181):ClientCnxn$SendThread@1161] - Unable to read additional data from server sessionid 0x0, likely server has closed socket, closing socket connection and attempting reconnect

后来才搞明白,由于我在zoo.cfg中配置了2台机器,但是只启动了1台,zookeeper就会认为服务处于不可用状态。

通过zookeeper的选举算法得知,当整个集群超过半数机器宕机,zookeeper会认为集群处于不可用状态。所以启动2台服务正常。

然后我又增加了1台server.3=10.10.16.241:2888:3888机器节点,在3台都启动的情况下,关掉其中1台,服务正常,关掉2台,服务不可用。

所以,zookeeper集群只启动一台无法连接,如果启动机器数为半数及以上就可以连接了。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值