600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > zookeeper Unable to read additional data from server sessionid 0x0

zookeeper Unable to read additional data from server sessionid 0x0

时间:2018-09-14 17:16:39

相关推荐

zookeeper Unable to read additional data from server sessionid 0x0

问题描述

项目是springboot 项目,通过dubbo 对各个模块进行调用,在项目启动的时候,zookeeper 客户端报如下错误。

Unable to read additional data from server sessionid 0x0, likely server has closed socket, closing socket connection and attempting reconnect

原因分析:

先进入机器 telnet zookeeper 服务器机器

telnet 10.20.3.31 2181Trying 10.20.3.31...Connected to 10.20.3.31.Escape character is '^]'.Connection closed by foreign host.

可以看到其实2181 这个端口是通的,但刚连通就被服务器拒绝。

这个是时候换了另外一台机器,telnet zookeeper 主机 端口 发现zookeeper 主机没有被拒绝。

单个客户端与单台服务器之间的连接数的限制,是ip级别的,默认是60,如果设置为0,那么表明不作任何限制。请注意这个限制的使用范围,仅仅是单台客户端机器与单台ZK服务器之间的连接数限制,不是针对指定客户端IP,也不是ZK集群的连接数限制,也不是单台ZK对所有客户端的连接数限制。

查看服务器2181端口已有连接数

[root@hdfs-10-18-0-31 ~]# netstat -tanp | grep 2181 | awk '{print $5}' | grep -E '([0-9]+\.){3}[0-9]+' -o | sort | uniq -c11 10.20.3.31

netstat -tanp | grep 2181

查看具体具体应用和状态,发现10个连接是 ESTABLISHED 还有一个是TIME-WAIT 发现只有10个连接

进入 zookeeper conf/zoo.cfg 查看配置,发现 -maxClientCnxns 并未配置,

但配置initLimit=10。那按道理是最大连接应该60才对,还没到达上限

通过下面命令,确实只有10个连接。

cat /proc/net/nf_conntrack | grep 2181 | awk '{print $7}'|sort|uniq -c10 src=10.20.3.31

netstat -tanp | grep 2181 查看启动进程有哪些,杀掉其中两个进程。

telnet zookeeper 主机 端口 不再被拒绝,重新启动启动失败的服务启动成功。现在可以判定是zookeeper 针对单个ip限制到10个,添加zoo.cfg 配置maxClientCnxns=60

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。