环境:HDP 2.6.4
安巴里 – 2.6.1
3 动物园管理员服务器
23.1.35.185 - 是第一个zookeeper服务器的IP
大家好,
在第一个 zookeeper 服务器中,似乎即使关闭与 zookeeper 的连接也没有关闭,
这会导致从主机达到最大客户端连接数 - 我们在 zookeeper 配置中将 maxClientCnxns 设置为 60
因此,当一个新应用程序出现并尝试创建连接时,它会失败。
连接时的示例:
echo stat | nc 23.1.35.185 2181
Latency min/avg/max: 0/71/399
Received: 3031 Sent: 2407
Connections: 67
Outstanding: 622
Zxid: 0x130000004d
Mode: follower
Node count: 3730
但是一段时间后,当连接达到 ~70 时,我们看到
echo stat | nc 23.1.35.185 2181
Ncat: Connection reset by peer.
我们还可以看到很多 CLOSE_WAIT
java 58936 zookeeper 60u IPv6 381963738 0t0 TCP Zookeper_server.sys54.com:eforward->zookeper_server.sys54.com:44983 (CLOSE_WAIT)
来自 Zookeeper 日志
2018-12-26 02:50:46,382 [myid:1] - WARN [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@193]
- Too many connections from /23.1.35.185 - max is 60
在 ambari 我们也可以看到
Connection failed: [Errno 104] Connection reset by peer to zookeper_server.sys54.com.:2181
我必须说这在 zookeeper 服务器 2 和 3 上没有发生
注意 - 如果我们将maxClientCnxns增加到 300 ,这无济于事,因为一段时间后我们获得了更多的 300 个连接(CLOSE_WAIT),然后我们从日志中看到
2018-12-26 02:50:49,375 [myid:1] - WARN [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@193] - Too many connections from /23.1.35.187 - max is 300
所以任何提示为什么连接是 CLOSE_WAIT ?