Apache zookeeper Zookeeper:未能写入PID

Apache zookeeper Zookeeper:未能写入PID,apache-zookeeper,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 fil

所以我正试着从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

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

我从来没有听说过zookeeper,但可能是因为试图编写文件
zookeeper\u server.pid时出现权限问题,或者可能是目录
/tmp/zookeeper/
不存在,shell脚本没有考虑到这种可能性。检查这些目录的权限和存在性。

我从来没有听说过zookeeper,但在尝试编写文件
zookeeper\u server.pid
时可能会出现权限问题,或者目录
/tmp/zookeeper/
不存在,shell脚本没有考虑到这种可能性。检查这些目录的权限和存在性。

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

/bin/zkServer.sh startconf/zoo.conf


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

/bin/zkServer.sh startconf/zoo.conf


zookeeper以默认配置分发,出于示例目的,使用
/tmp/zookeeper
作为
dataDir
。建议将
/path/to/zookeeper/conf/zoo.cfg
中的此值更改为
/var/lib/zookeeper

创建
/var/lib/zookeeper
需要根访问权限,因此需要
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

zookeeper以默认配置分发,出于示例目的,使用
/tmp/zookeeper
作为
dataDir
。建议将
/path/to/zookeeper/conf/zoo.cfg
中的此值更改为
/var/lib/zookeeper

创建
/var/lib/zookeeper
需要根访问权限,因此需要
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

谢谢你的回复。我真傻。我应该先
ssh localhost
,然后运行命令。谢谢你的回复。我真傻。我应该先
ssh localhost
,然后运行命令。尝试使用“启动前台”启动服务器以查看问题的完整日志尝试使用“启动前台”启动服务器以查看问题的完整日志