FAILED WRITE PID安装Zookeeper

时间:2013-10-10 12:38:57

标签: apache-zookeeper

我是Zookeeper的新手,安装和运行是一个真正的问题。我不确定这里有什么问题,但我会解释我正在做些什么来使它更清楚:

1.-我遵循了Apache提供的安装指南。这意味着下载Zookeeper发行版(稳定版)提取文件并移入主目录。

2.-当我使用Ubuntu 12.04时,我修改了.bashrc文件,包括:

export ZOOKEEPER_INSTALL=/home/myusername/zookeeper-3.4.5
export PATH=$PATH:$ZOOKEEPER_INSTALL/bin

3.-在conf / zoo.cfg上创建配置文件

tickTime=2000
dataDir=/var/zookeeper
clientPort=2181

并尝试过:

dataDir=/var/log/zookeeper

dataDir=/var/bin/zookeeper

4.-运行启动命令时

zkServer.sh start or `bin/zkServer.sh start` nothing happens and always returns this

JMX enabled by default
Using config: /home/sasuke/zookeeper-3.4.5/bin/../conf/zoo.cfg
mkdir: cannot create directory `/var/zookeeper': Permission denied
Starting zookeeper ... /home/sasuke/zookeeper-3.4.5/bin/zkServer.sh: line 113: /var/zookeeper/zookeeper_server.pid: No such file or directory
FAILED TO WRITE PID

我安装了Java,在zookeper目录中有一个zookeeper.jar文件,我认为它没有运行。 在这里检查stackoverflow有一个人说他可以在输入

后运行zookeeper
ssh localhost

但是当我尝试这样做时,我得到了这个错误

ssh: connect to host localhost port 22: Connection refused

请帮忙。我在这里试图解决它太久了。

zookeeper入门指南: http://zookeeper.apache.org/doc/r3.1.2/zookeeperStarted.html 以前的案例用shh localhost解决了 Zookeeper: FAILED TO WRITE PID

更新: 日志的权限是:

drwxr-xr-x 19 root root     4096 Oct 10 07:52 log

和zookeeper:

drwxr-xr-x  2 zookeeper         zookeeper    4096 Mar 23  2012 zookeeper

我应该更改其中任何一项吗?

11 个答案:

答案 0 :(得分:8)

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

  

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

答案 1 :(得分:3)

您似乎没有所需的权限。 /var/log所有者将成为root用户。 Zookeeper将进程ID和数据快照存储在该目录中。生成的zookeeper服务器的进程ID存储在文件中 - zookeeper_server.pid(从3.3.6开始)

如果你有root优先权,你可以用sudo(root)previleges启动zookeeper,它应该可以工作,但绝对不推荐。确保使用与目录所有者相同(或更高)的权限启动zookeeper。

在您的主文件夹中创建一个新目录,例如/home/username/zookeeper-data。 让dataDir指向该目录,它应该可以工作。

答案 2 :(得分:1)

默认的zookeeper安装(tar提取)附带名为conf/zoo_sample.cfg的conf文件,而同一提取的bin/zkServer.sh期望将conf文件称为zoo.cfg,从而导致“无此类文件或目录“和”无法写入pid“错误。因此,在运行zkServer.sh以启动或停止zookeeper实例之前,要么:

  • 将conf目录中的zoo_sample.cfg重命名为zoo.cfg
  • 将名称(和路径)提供给conf文件(作为suggested by Ilya Lapitan),当然还有
  • 编辑zkServer.sh; - )

答案 3 :(得分:0)

由于磁盘空间不足,这种情况发生在我身上。导致zookeeper无法在zookeeper数据文件夹中创建pid文件。

答案 4 :(得分:0)

为dataDir创建目录时,请确保使用-p选项。这将允许根据应用程序放置文件的要求创建后续目录。

mkdir -p /var/log/zookeeperData 然后设置:

dataDir=/var/log/zookeeperData

答案 5 :(得分:0)

使用此命令启动zookeeper时遇到了同样的问题:

  

hadoop @ ubuntu:〜/ hadoop / zookeeper / zookeeper-3.4.8 $ bin / zkServer.sh   启动

     

错误[main] client.ConnectionManager $ HConnectionImplementation:   节点/ hbase不在ZooKeeper中。

它应该是由主人写的。检查zookeeper.znode.parent中配置的值。可能与主服务器中配置的服务不匹配。

但是以su运行脚本可以解决问题:

  

hadoop @ ubuntu:〜/ hadoop / zookeeper / zookeeper-3.4.8 $ sudo bin / zkServer.sh   启动

     

默认情况下启用ZooKeeper JMX使用config:   /home/hadoop/hadoop/zookeeper/zookeeper-3.4.8/bin/../conf/zoo.cfg   开始管理员......开始

答案 6 :(得分:0)

转到/ usr / local / etc /
你会发现zookeeper目录
删除目录
并重新启动服务器 - zkServer start

答案 7 :(得分:0)

更改路径给dataDir = / tmp / zookeeper。如果它工作,那么它明确访问问题

但它通常不建议使用tmp目录。

答案 8 :(得分:0)

似乎有各种原因会导致这种情况发生。这里有很多有用的答案!

对我来说,我的zoo.cfg文件中的行尾有不正确的字符,可能还有看不见的字符,因此Zookeeper试图创建诸如/var/zookeeper?/var/zookeeper\r之类的目录。重做我的zoo.cfg并修复了我,并删除了zoo_sample.conf。

答案 9 :(得分:0)

这似乎是一个所有权问题;执行以下操作为我解决了这个问题。

$ sudo chown -R $USER /var/lib/zookeeper

我在下面概述了我的步骤,这些步骤显示了我遇到的错误(与该SO问题中的错误相同),以及尝试尝试上述用户提出的解决方案的尝试,建议提供zoo.cfg作为参数

13:01:29 ✔ ~  :: $ZK/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/Cellar/zookeeper/3.4.14/libexec/bin/../conf/zoo.cfg
Starting zookeeper ... /usr/local/Cellar/zookeeper/3.4.14/libexec/bin/zkServer.sh: line 149: /var/lib/zookeeper/zookeeper_server.pid: Permission denied
FAILED TO WRITE PID

13:01:32 ✘ ~  :: $ZK/bin/zkServer.sh start $ZK/conf/zoo.cfg
ZooKeeper JMX enabled by default
Using config: /usr/local/Cellar/zookeeper/3.4.14/libexec/conf/zoo.cfg
Starting zookeeper ... /usr/local/Cellar/zookeeper/3.4.14/libexec/bin/zkServer.sh: line 149: /var/lib/zookeeper/zookeeper_server.pid: Permission denied
FAILED TO WRITE PID
13:04:45 ✔ /var/lib  :: ls -la
total 0
drwxr-xr-x  4 root     wheel 128 Apr 19 18:55 .
drwxr-xr-x 27 root     wheel 864 Apr 19 18:55 ..
drwxr--r--  3 root     wheel  96 Mar 24 15:07 zookeeper
13:04:48 ✔ /var/lib  :: echo $USER
tallamjr
13:06:03 ✔ /var/lib  :: sudo chown -R $USER zookeeper
Password:
13:06:44 ✔ /var/lib  :: ls -la
total 0
drwxr-xr-x  4 root     wheel 128 Apr 19 18:55 .
drwxr-xr-x 27 root     wheel 864 Apr 19 18:55 ..
drwxr--r--  3 tallamjr wheel  96 Mar 24 15:07 zookeeper
13:06:48 ✔ ~  :: $ZK/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/Cellar/zookeeper/3.4.14/libexec/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

参考: -https://askubuntu.com/questions/6723/change-folder-permissions-and-ownership

答案 10 :(得分:-1)

尝试使用sudo -E bin / zkServer.sh start