Zookeeper:未能写出PID

时间:2012-06-18 23:48:16

标签: apache-zookeeper

所以我想开始使用Accumulo。我安装了Hadoop并且运行没有问题,但是当我尝试启动Zookeeper时,我得到了:

JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
-n Starting zookeeper ... 
/opt/zookeeper/bin/zkServer.sh: line 103: /tmp/zookeeper/zookeeper_server.pid: No such file or directory
FAILED TO WRITE PID

我环顾四周似乎无法找到答案。

3 个答案:

答案 0 :(得分:3)

我遇到了同样的问题。在我的例子中,启动Zookeeper并直接指定配置文件非常有用:

  

/bin/zkServer.sh start conf / zoo.conf

答案 1 :(得分:1)

我从未听说过zookeeper,但是尝试编写文件zookeeper_server.pid或者目录/tmp/zookeeper/可能不存在而且shell脚本不能解决这个问题可能是一个权限问题可能性。检查权限和这些目录的存在。

答案 2 :(得分:1)

zookeeper随默认conf一起分发,仅出于示例目的将/tmp/zookeeper用作dataDir。建议将/path/to/zookeeper/conf/zoo.cfg中的该值更改为/var/lib/zookeeper

创建/var/lib/zookeeper需要root权限,因此需要sudo。创建后,此目录将具有以下权限。

ls -al  /var/lib/zookeeper/
drwxr-xrwx  4 root           wheel  128 May  9 14:03 .

在没有root许可的情况下启动zookeeper时,它无法写入此目录。因此失败并出现错误

... /usr/local/zookeeper/bin/zkServer.sh: line 169: /var/lib/zookeeper/zookeeper_server.pid: Permission denied
FAILED TO WRITE PID

您需要授予写入权限,以允许启动Zookeeper的用户写入/var/lib/zookeeper。就我而言,当我在本地使用它时,我使用了以下命令,它起作用了

sudo chmod o+w /var/lib/zookeeper