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 @   NHZ-M  阅读(7943)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示