您好,登錄后才能下訂單哦!
ZooKeeper限制客戶端連接數(shù)
問題:
最近發(fā)現(xiàn)ZooKeeper服務器上的連接數(shù)過多,都是連接zookeeper的。
解決方案:
通過查詢分析,發(fā)現(xiàn)zookeeper的一個客戶端使用有問題,創(chuàng)建的連接過多導致的。
zookeeper有沒有相應的功能能做下限制呢?
查看zookeeper的配置參數(shù),可以發(fā)現(xiàn)zookeeper的可以通過相應的配置來限制某ip的連接數(shù)。
maxClientCnxns
這個配置參數(shù)將限制連接到ZooKeeper的客戶端的數(shù)量,限制并發(fā)連接的數(shù)量,它通過IP來區(qū)分不同的客戶端。此配置選項可以用來阻止某些類別的Dos***。該參數(shù)默認是60,將它設置為0將會取消對并發(fā)連接的限制。
例如,將maxClientCnxns的值設置為1,如下所示:
#set maxClientCnxns
maxClientCnxns=1
啟動ZooKeeper之后,首先用一個客戶端連接到ZooKeeper服務器之上。然后,當?shù)诙€客戶端嘗試對ZooKeeper進行連接,或者某些隱式的對客戶端的連接操作,將會觸發(fā)ZooKeeper的上述配置。系統(tǒng)會提示相關信息,如下圖1所示:
ZooKeeper關于maxClientCnxns參數(shù)的官方解釋:
單個客戶端與單臺服務器之間的連接數(shù)的限制,是ip級別的,默認是60,如果設置為0,那么表明不作任何限制。請注意這個限制的使用范圍,僅僅是單臺客戶端機器與單臺ZK服務器之間的連接數(shù)限制,不是針對指定客戶端IP,也不是ZK集群的連接數(shù)限制,也不是單臺ZK對所有客戶端的連接數(shù)限制。
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.
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。