背景&问题
- zookeeper 3.6版本
- 向zookeeper发送信息时报出如下问题:
stat is not executed because it is not in the whitelist.
解决
在bin目录下的zkServer.sh脚本中添加如下代码,注意不是随意位置,要在ZOOMAIN赋值语句的后边(实在不行加最后面吧,注意一些控制块的结束符号)
ZOOMAIN="-Dzookeeper.4lw.commands.whitelist=* ${ZOOMAIN}"
验证
echo stat|nc localhost 2181
原因
zookeeper.4lw.commands.whitelist
:3.4.10中的新增功能:此属性包含以逗号分隔的四个字母单词命令的列表。引入它是为了对ZooKeeper可执行的命令集提供精细的控制,因此用户可以在必要时关闭某些命令。默认情况下,如果未指定该属性,则它包含所有受支持的四个字母单词命令,但“ wchp”和“ wchc”除外。如果指定了属性,则仅启用白名单中列出的命令。