1 .问题
启动 zookeeper
后 用指令 telnet 127.0.0.1 2181
连接 提示输入指令 :stat
后报错,然后关闭连接:
[root@EMS3 xinetd.d]# telnet 127.0.0.1 2181
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
stat
'stat is not executed because it is not in the whitelist.'
Connection closed by foreign host.
2.问题解决:
2.1 方法一
在zoo.cfg 文件里加入配置项让这些指令放行:
#开启四字命令
4lw.commands.whitelist=*
2.2 方法二
在zk的启动脚本zkServer.sh
中新增放行指令:
...
else
echo "JMX disabled by user request" >&2
ZOOMAIN="org.apache.zookeeper.server.quorum.QuorumPeerMain"
fi
#添加VM环境变量-Dzookeeper.4lw.commands.whitelist=*
ZOOMAIN="-Dzookeeper.4lw.commands.whitelist=* ${ZOOMAIN}"
解释下语法,作用是拼接字符串命令,如果在java中增加前缀,等价于str=“abc”+str:
ZOOMAIN="-Dzookeeper.4lw.commands.whitelist=* ${ZOOMAIN}"
注:配置完毕后,记得重启zk