我是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有一个人说他可以在输入
后运行zookeeperssh 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
我应该更改其中任何一项吗?
答案 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实例之前,要么:
zoo_sample.cfg
重命名为zoo.cfg
或答案 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