ZooKeeper限制客户端连接数
问题:
最近发现ZooKeeper服务器上的连接数过多,都是连接zookeeper的。
解决方案:
通过查询分析,发现zookeeper的一个客户端使用有问题,创建的连接过多导致的。
zookeeper有没有相应的功能能做下限制呢?
查看zookeeper的配置参数,可以发现zookeeper的可以通过相应的配置来限制某ip的连接数。
maxClientCnxns
这个配置参数将限制连接到ZooKeeper的客户端的数量,限制并发连接的数量,它通过IP来区分不同的客户端。此配置选项可以用来阻止某些类别的Dos***。该参数默认是60,将它设置为0将会取消对并发连接的限制。
例如,将maxClientCnxns的值设置为1,如下所示:
#set maxClientCnxns
maxClientCnxns=1
启动ZooKeeper之后,首先用一个客户端连接到ZooKeeper服务器之上。然后,当第二个客户端尝试对ZooKeeper进行连接,或者某些隐式的对客户端的连接操作,将会触发ZooKeeper的上述配置。系统会提示相关信息,如下图1所示:
ZooKeeper关于maxClientCnxns参数的官方解释:
单个客户端与单台服务器之间的连接数的限制,是ip级别的,默认是60,如果设置为0,那么表明不作任何限制。请注意这个限制的使用范围,仅仅是单台客户端机器与单台ZK服务器之间的连接数限制,不是针对指定客户端IP,也不是ZK集群的连接数限制,也不是单台ZK对所有客户端的连接数限制。
maxClientCnxns
Limits the number of concurrent connections (at the socket level) that a single client, identified by IP address, may make to a single member of the ZooKeeper ensemble. This is used to prevent certain classes of DoS attacks, including file descriptor exhaustion. The default is 60. Setting this to 0 entirely removes the limit on concurrent connections.
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。