2013-10-10 126 views
5

我是Zookeeper的新手,它的安装和运行是一个真正的问题。我不确定这里有什么问题,但是我会解释我正在做的事情,以使其更加清晰:安装失败PID安装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文件。 检查这里的计算器有一个人,说他可以输入

ssh localhost 

后运行饲养员但是,当我尝试这样做,我得到这个错误

ssh: connect to host localhost port 22: Connection refused 

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

入门饲养员的指导: http://zookeeper.apache.org/doc/r3.1.2/zookeeperStarted.html 前面的情况与SHH本地主机解决 Zookeeper: FAILED TO WRITE PID

更新: 日志的权限是:

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

和饲养员:

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

我应该改变这些都是?

+0

'/ var/log/zookeeper'的权限?看起来你没有所需的权限 – bsd

+0

请参阅我对同一问题的回答: http://stackoverflow.com/questions/11092636/zookeeper-failed-to-write-pid –

+0

尝试启动服务器“启动-foreground“看到问题的完整日志 –

回答

2

看来你没有所需的权限。 /var/log所有者将成为根。 Zookeeper将数据的进程ID和快照存储在该目录中。在衍生动物园管理员服务器的进程ID存储在一个文件 - zookeeper_server.pid(如3.3.6)

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

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

+0

我已经改变了dataDir,就像你说的那样,它工作。但是在开发后我会有什么问题吗?我已经更改了日志和zookeeper目录的权限,允许用户和组写入,但它没有奏效。顺便说一句,谢谢你。 – Rodrigo

0

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

7

我有同样的问题。在我的情况下是有用的,开始动物园管理员和直接指定配置文件:

/bin/zkServer.sh开始的conf/zoo.conf

+0

这对我有用。 –

+0

这个答案应该更高。特别是如果得到以root身份运行的错误。 – Eric

0

当您创建的目录为DATADIR确保使用-p选项。这将允许根据应用程序放置文件的需要创建后续目录。

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

dataDir=/var/log/zookeeperData

+0

Zookeeper自动创建该文件夹... – chomp

0

我也面临着同样的问题,而开始用这个命令动物园管理员:

Hadoop的@ Ubuntu的:〜/ Hadoop的/饲养员/ zookeeper- 3.4.8 $ bin/zkServer.sh 开始

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

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

但在运行脚本su纠正问题:

Hadoop的@ Ubuntu的:〜/ Hadoop的/饲养员/饲养员-3.4.8 $ sudo的斌/ zkServer.sh 开始

的ZooKeeper JMX在默认情况下使用配置启用: /home/hadoop/hadoop/zookeeper/zookeeper-3.4.8/bin/../conf/zoo.cfg 开始饲养员...开始

1

的defau lt zookeeper安装(tar提取)附带名为conf/zoo_sample.cfg的conf文件,而同一提取的bin/zkServer.sh预计将conf文件称为zoo.cfg,从而导致“无此文件或目录”和“无法写入pid”错误。所以运行zkServer.sh启动或停止饲养员例如,前两种:

  • 在conf目录重命名zoo_sample.cfgzoo.cfg,或
  • 有的名称(和路径)conf文件(如suggested by Ilya Lapitan)或者,当然
  • 编辑zkServer.sh ;-)
-1

尝试使用sudo -E斌/ zkServer。SH开始

0

进入到/ usr/local/etc中/
你会发现饲养员目录
删除目录
并重新启动服务器 - zkServer启动

+1

看看如何制作一个列表[示例列表](https://stackoverflow.com/editing-help#simple-lists)。 –

0

更改路径给DATADIR =的/ tmp /饲养员。如果它工作,那么其明显的访问问题

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