Zookeeper启动Permission denied
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