设置Znode的quota信息
操作场景
该任务指导用户在运维场景或业务场景中对安全集群中的ZooKeeper节点Znode设置quota配额信息,用来限制Znode及其子节点的数量以及Znode及其子节点的字节空间。
设置Znode的quota有以下两种方式:
对系统的影响
如果设置的数量配额或容量配额值过小,小于服务正常运行所需要的目录数量或容量,服务会出现无法正常运行等问题,请谨慎设置配额值的大小。
前提条件
已安装客户端,例如安装目录为“/opt/client”。
操作步骤
使用自动设置配额的功能
- 请参考修改集群服务配置参数,进入ZooKeeper“全部配置”页面,选择“配额”分类页,将自动设置配额功能的开关“quotas.auto.check.enable”设置为“true”,单击“保存”。
- 是否需要设置在ZooKeeper上顶层目录的配额(例如:Yarn服务)。
- 请参考修改集群服务配置参数,进入Yarn“全部配置”页面,并搜索“zk.quota”配置项。
- 合理设置以下配额值,单击“保存”,ZooKeeper服务会周期性的自动设置Yarn服务在ZooKeeper上顶层目录的配额。
- 配置项“zk.quota.number”表示服务在ZooKeeper上目录的数量配额。
- 配置项“zk.quota.bytes”表示服务在ZooKeeper上目录的容量配额。
如果设置的数量配额或容量配额值,小于当前目录实际的数量配额或容量配额,设置可以保存成功,但界面会上报设置无效的告警,提示用户重新设置配额值。
如果设置的数量配额或容量配额值过小,小于服务正常运行所需要的目录数量或容量,服务会出现无法正常运行等问题,请谨慎设置配额值的大小。
- 是否需要设置除各服务目录外其他自定义顶层目录配额。
- 是,执行6。
- 否,操作结束。
- 进入ZooKeeper“全部配置”页面,并选择“配额”分类页。
- 在配置项customized.quota的"名称"的输入框中,输入ZooKeeper上的顶层目录(例如“/abc”)。
- 在对应“值”的输入框中,依次输入数量配额值和容量配额值(也可以只设置数量配额),以逗号分隔。如果需要设置多个顶层目录的配额,单击“+”新增。修改完配置后,单击“保存”,ZooKeeper服务会周期性的自动设置顶层目录的配额,操作结束。
输入的数量配额值,不能大于配置项max.znode.count指定的数值;输入的容量配额值,不能大于配置项max.data.size指定的数值。
如果ZooKeeper上的顶层目录,不是某个服务的顶层目录,也没有在配置项customized.quota项中自定义配额,ZooKeeper服务会将其数量配额大小设置为配置项defaultQuota的值。
通过客户端下发命令配置
- 进入ZooKeeper“全部配置”页面,并选择“配额”分类页,将自动设置配额功能的开关quotas.auto.check.enable设置为“false”,单击“保存”。
- 参考使用ZooKeeper客户端,启动ZooKeeper客户端。
安全模式下启动ZooKeeper客户端需要进行用户认证,认证时需使用zookeeper用户(ZooKeeper的系统管理员)进行认证,执行kinit zookeeper。
- 执行setquota /znode -n number -b byte命令。
- znode为需要设置quota的节点。
- number为该节点及子节点允许的最大数量。
- byte为该节点及子节点被允许的最大字节空间。