1

所以我正在尝试开始使用 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

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

4

3 回答 3

3

我曾经也有过一样的问题。在我的情况下,启动 Zookeeper 并直接指定配置文件很有用:

/bin/zkServer.sh 启动conf/zoo.conf

于 2015-03-30T12:58:39.397 回答
1

我从未听说过 zookeeper,但尝试写入文件可能是权限问题,zookeeper_server.pid或者目录/tmp/zookeeper/不存在并且 shell 脚本没有考虑这种可能性。检查这些目录的权限和存在。

于 2012-06-18T23:56:17.760 回答
1

zookeeper 以默认配置分发,仅用/tmp/zookeeperdataDir示例。建议将此值更改/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
于 2020-05-09T08:49:52.623 回答