問題描述
項(xiàng)目是springboot 項(xiàng)目,通過dubbo 對(duì)各個(gè)模塊進(jìn)行調(diào)用,在項(xiàng)目啟動(dòng)的時(shí)候,zookeeper 客戶端報(bào)如下錯(cuò)誤。
Unable to read additional data from server sessionid 0x0, likely server has closed socket, closing socket connection and attempting reconnect
原因分析:
先進(jìn)入機(jī)器 telnet zookeeper 服務(wù)器機(jī)器
telnet 10.20.3.31 2181
Trying 10.20.3.31...
Connected to 10.20.3.31.
Escape character is '^]'.
Connection closed by foreign host.
可以看到其實(shí)2181 這個(gè)端口是通的,但剛連通就被服務(wù)器拒絕。
這個(gè)是時(shí)候換了另外一臺(tái)機(jī)器,telnet zookeeper 主機(jī) 端口 發(fā)現(xiàn)zookeeper 主機(jī)沒有被拒絕。
單個(gè)客戶端與單臺(tái)服務(wù)器之間的連接數(shù)的限制,是ip級(jí)別的,默認(rèn)是60,如果設(shè)置為0,那么表明不作任何限制。請(qǐng)注意這個(gè)限制的使用范圍,僅僅是單臺(tái)客戶端機(jī)器與單臺(tái)ZK服務(wù)器之間的連接數(shù)限制,不是針對(duì)指定客戶端IP,也不是ZK集群的連接數(shù)限制,也不是單臺(tái)ZK對(duì)所有客戶端的連接數(shù)限制。
- 查看服務(wù)器2181端口已有連接數(shù)
[root@hdfs-10-18-0-31 ~]# netstat -tanp | grep 2181 | awk '{print $5}' | grep -E '([0-9]+\.){3}[0-9]+' -o | sort | uniq -c
11 10.20.3.31
netstat -tanp | grep 2181
查看具體具體應(yīng)用和狀態(tài),發(fā)現(xiàn)10個(gè)連接是 ESTABLISHED 還有一個(gè)是TIME-WAIT 發(fā)現(xiàn)只有10個(gè)連接
進(jìn)入 zookeeper conf/zoo.cfg 查看配置,發(fā)現(xiàn) -maxClientCnxns 并未配置,
但配置initLimit=10。那按道理是最大連接應(yīng)該60才對(duì),還沒到達(dá)上限
通過下面命令,確實(shí)只有10個(gè)連接。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-531685.html
cat /proc/net/nf_conntrack | grep 2181 | awk '{print $7}'|sort|uniq -c
10 src=10.20.3.31
netstat -tanp | grep 2181 查看啟動(dòng)進(jìn)程有哪些,殺掉其中兩個(gè)進(jìn)程。
telnet zookeeper 主機(jī) 端口 不再被拒絕,重新啟動(dòng)啟動(dòng)失敗的服務(wù)啟動(dòng)成功?,F(xiàn)在可以判定是zookeeper 針對(duì)單個(gè)ip限制到10個(gè),添加zoo.cfg 配置maxClientCnxns=60文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-531685.html
到了這里,關(guān)于zookeeper Unable to read additional data from server sessionid 0x0的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!