更新时间:2022-12-14 GMT+08:00
配置ZooKeeper连接数
配置场景
目前ZooKeeper可以在服务器端进行maxClientCnxn配置,该配置会对来自各客户端IP地址的连接进行验证。但在可能发生的DOS攻击中,会有大量客户端产生出海量的无用连接并耗尽ZooKeeper的所有资源,导致其他客户端无法创建有效连接,甚至造成服务器故障。
为限制连接至单台ZooKeeper服务器的最大连接数,所有ZooKeeper服务器都引入了一项新的配置,用于在接受任何新的连接请求之前检查当前活跃的总连接数。
图1 连接控制逻辑
![点击放大](https://support.huaweicloud.com/intl/zh-cn/eu-west-0-cmpntguide-lts-mrs/zh-cn_image_0000001364112577.png)
配置描述
请参考修改集群服务配置参数,进入ZooKeeper“全部配置”页面。在搜索框中输入参数名称。通过配置“maxClientCnxn”和“maxCnxns”,分别限制每台主机的最大连接数及ZooKeeper服务器中的总连接数。
参数 |
描述 |
默认值 |
---|---|---|
maxClientCnxns |
限制连接到zk集群上具体的某一个zkserver的客户端连接数的数量,它通过IP来区分不同的客户端。 该配置与开源社区的版本相同。 |
2000 |
maxCnxns |
单台ZooKeeper服务器允许的客户端最大连接数,不通过IP来区分不同的客户端。 |
20000 |
![](https://support.huaweicloud.com/intl/zh-cn/eu-west-0-cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
Zookeeper连接控制功能基于IP,而不是基于特定用户。如果一个IP的所有连接被很少的服务所占用,则有可能导致来自同一个IP的其他强制服务无法连接到Zookeeper。因此,产品必须确保仅允许值得信任的应用程序连接到Zookeeper服务并相应地配置最大连接限制。
父主题: 使用ZooKeeper