1

So I'm trying to to get started with Accumulo. I installed Hadoop and it runs w/o problems but when I try to start Zookeeper I get:

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

I've looked around can't seem to find an answer.

icanc
  • 3,499
  • 3
  • 35
  • 45

3 Answers3

3

I have had the same problem. In my case was useful to start Zookeeper and directly specify a configuration file:

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

Ilya Lapitan
  • 986
  • 15
  • 23
1

I have never heard of zookeeper, but it could be a permissions issue trying to write the file zookeeper_server.pid or perhaps the directory /tmp/zookeeper/ doesn't exist and the shell script isn't accounting for that possibility. Check the permissions and existence of those directories.

  • Thanks for the reply. It was stupid me. I was supposed to `ssh localhost` first and then run the command. – icanc Jun 19 '12 at 00:00
1

zookeeper distributed with default conf, uses /tmp/zookeeper as dataDir for just example sake. It is suggested changing this value in /path/to/zookeeper/conf/zoo.cfg to /var/lib/zookeeper.

Creating /var/lib/zookeeper needs root access, so sudo is required. This directory when created will have following permissions.

ls -al  /var/lib/zookeeper/
drwxr-xrwx  4 root           wheel  128 May  9 14:03 .

When zookeeper is started without root permission, it cannot write to this directory. hence fails with error

... /usr/local/zookeeper/bin/zkServer.sh: line 169: /var/lib/zookeeper/zookeeper_server.pid: Permission denied
FAILED TO WRITE PID

You need to give write permissions to allow user starting zookeeper to write to /var/lib/zookeeper. In my case, as I am using it in local, I used the following command and it worked

sudo chmod o+w /var/lib/zookeeper
Saiteja Parsi
  • 412
  • 1
  • 5
  • 15