Zookeeper 查詢狀態,出現如下問題:
JMX enabled by default Using config: /usr/zookeeper/zookeeper-3.4.5/bin/../conf/zoo.cfg mkdir: cannot create directory `.': Permission denied Mode: leader
而且運行 zkServer.sh start
同樣出現如下問題:
JMX enabled by default Using config: /usr/zookeeper/zookeeper-3.4.5/bin/../conf/zoo.cfg mkdir: cannot create directory `.': Permission denied Starting zookeeper ... /usr/zookeeper/zookeeper-3.4.5/bin/zkServer.sh: line 109: ./zookeeper.out: Permission denied STARTED
從上述問題描述,可以看出都是權限問題。在第二個提示中,找到第109行。發現如下:
109 nohup $JAVA "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" \
所以,懷疑是這里有問題。並且,echo ${ZOO_LOG_DIR} ,也沒有任何值。
所以,在此,手動設置:
在bin/zkEnv.sh 中修改:
if [ "x${ZOO_LOG_DIR}" = "x" ] then ZOO_LOG_DIR="/home/hdp/zk" fi
source zkEnv.sh
或者在啟動的時候直接進入/home/hdp/zk/bin 下run(這種方式更好)
zkServer.sh start