zookeeper集群模式下报连接数过多问题

应用后台报错zookeeper连接超时,在此之前并没用出现过此类错误,是转成zookeeper集群后才出现的,(最后发现还是代码问题)

在zookeeper.out中出现too many connecttion from ^_^ip  :显示我在^_^ip上的某应用请求过度!

 

[maxClientCnxns]默认值60,对于那些单应用都是足够得,除非是在此集群上部署了十几个应用

首先这个连接数不是针对某个ip的,请注意这个限制的使用范围,

仅仅是单台客户端机器与单台zookeeper服务器之间的连接数限制,(***)

不是针对指定客户端IP,也不是zookeeper集群的连接数限制,

也不是单台zookeeper对所有客户端的连接数限制。

检查下zk

看看2181端口都谁在链接

sudo netstat -nap |grep 2181 发现确实是项目的问题

解决从以下两个方式:

 1.代码:打补丁,解决zookeeper连接资源,producer.close 、consume.shutdown。
 2.配置文件: a.zookeeper默认连接数值60,可以适当调大至500。
                       b.在配置文件中加入会话超时设置,在conf/zoo.conf最后加上:minSessionTimeout=30000,maxSessionTimeout=60000
虽然会话zookeeper超时在没有设定时间时会根据ticktime*(2   -   20)ms,来定,但是在实际发现会话在超时后断掉。
 ps 若之后还出现此类问题  应急性的处理方式重启zookeeper集群,建议搭建使用zookeeper集群管理平台exhibitor,
    功能:
1、检测ZK实例并确保它正在运行,有自行重启功能
2、执行定期备份
3、定期清理ZK日志目录(zookeeper.out)
4、用于查看ZK节点的GUI资源管理器
 
 
 
其实遇到这种情况 99% 都是代码问题,还是找一下自己代码问题的好,增加连接数这都是不是什么明智的方法
posted @ 2017-12-28 15:02  NHZ-M  阅读(7783)  评论(0编辑  收藏  举报