2013-10-10 20 views
5

Ich bin neu bei Zookeeper und es ist ein echtes Problem, es zu installieren und zu starten. Ich bin mir nicht sicher, was hier falsch ist, aber ich werde erklären, was ich mache, um es klarer zu machen:FEHLER BEIM SCHREIBEN PID installieren Zookeeper installieren

1.- Ich habe die Installationsanleitung von Apache befolgt. Dies bedeutet, Download der Zookeeper-Distribution (Stable-Release) extrahiert die Datei und zog in das Home-Verzeichnis.

2.- Wie verwende ich Ubuntu 12.04 Ich habe die Datei .bashrc einschließlich dieser Änderung:

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

3.- eine Config-Datei erstellen auf conf/zoo.cfg

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

und auch versucht, mit:

dataDir=/var/log/zookeeper 

und

691.363.210

4.- Wenn der Startbefehl ausgeführt

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 

Ich habe Java installiert und innerhalb des zookeper Verzeichnis gibt es eine zookeeper.jar Datei, die ich denke, es ist nicht aktiv. Überprüfen hier auf Stackoverflow war ein Typ, der sagte, er zookeeper laufen konnte

ssh localhost 

nach der Eingabe Aber wenn ich versuche, es zu tun bekomme ich diesen Fehler

ssh: connect to host localhost port 22: Connection refused 

Bitte helfen. Ich habe hier versucht, es zu lange zu lösen.

Erste Führung von zookeeper gestartet: http://zookeeper.apache.org/doc/r3.1.2/zookeeperStarted.html zurück Fall mit dem lokalen Host shh gelöst Zookeeper: FAILED TO WRITE PID

UPDATE: Die Berechtigungen für das Protokoll sind:

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

und für Tierpfleger:

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

Sollte ich chang Irgendwelche von diesen?

+0

Berechtigungen für '/ var/log/zookeeper? Es scheint, dass Sie nicht die erforderlichen Berechtigungen haben – bsd

+0

Bitte sehen Sie meine Antwort auf die gleiche Frage: http://StackOverflow.com/Questions/11092636/Zookeeper-Failed-To-Write-Pid –

+0

versuchen Start Server mit "Start -foreground ", um das vollständige Protokoll des Problems zu sehen –

Antwort

2

Es scheint, Sie haben nicht die erforderlichen Berechtigungen. Der /var/log Besitzer wird Root sein. Zookeeper speichert die Prozess-ID und den Snapshot der Daten in diesem Verzeichnis. Die Prozess-ID des erzeugten zookeeper Server wird in einer Datei gespeichert - zookeeper_server.pid (ab 3.3.6)

Wenn Sie root previleges haben, könnten Sie zookeeper mit sudo (root) previleges starten, sollte es funktionieren, aber auf jeden Fall nicht zu empfehlen . Stellen Sie sicher, dass Sie den Tierpfleger mit den gleichen (oder höheren) Berechtigungen wie der Besitzer des Verzeichnisses starten.

Erstellen Sie ein neues Verzeichnis in Ihrem Benutzerordner wie /home/username/zookeeper-data. Lassen Sie dataDir auf dieses Verzeichnis zeigen und es sollte funktionieren.

+0

Ich habe das DataDir geändert, wie Sie sagten, und es hat funktioniert. Aber hätte ich später Probleme bei der Entwicklung? Ich habe die Berechtigungen des Logbuchs und des Tierheim-Verzeichnisses geändert, sodass der Benutzer und die Gruppe darauf schreiben können, aber es hat nicht funktioniert. Übrigens danke für die Antwort. – Rodrigo

0

Das passiert mir wegen zu wenig Speicherplatz. Ursache Tierpfleger kann keine PID-Datei im Zookeeper-Datenordner erstellen.

7

Ich hatte das gleiche Problem. In meinem Fall war nützlich Zookeeper zu starten und direkt eine Konfigurationsdatei angeben:

/bin/zkServer.sh starten conf/zoo.conf

+0

Das hat für mich funktioniert. –

+0

Diese Antwort sollte höher sein. Vor allem, wenn der Fehler als root ausgeführt wird. – Eric

0

Wenn Sie das Verzeichnis für dataDir stellen Sie sicher, erstellen die Option -p verwenden. Dadurch können nachfolgende Verzeichnisse erstellt werden, die von der Anwendung, die Dateien platziert, benötigt werden.

mkdir -p /var/log/zookeeperData Dann setzen:

dataDir=/var/log/zookeeperData

+0

Zookeeper erstellt diesen Ordner automatisch ... – chomp

0

ich das gleiche Problem konfrontiert, während die Tierpfleger mit diesem Befehl starten:

hadoop @ ubuntu: ~/hadoop/Tierpfleger/zookeeper- 3.4.8 $ bin/zkServer.sh Start

Fehler [Haupt] client.ConnectionManager $ HConnectio nImplementation: Der Knoten/hbase befindet sich nicht in ZooKeeper.

Es sollte vom Master geschrieben worden sein. Überprüfen Sie den in zookeeper.znode.parent konfigurierten Wert. Es könnte eine Diskrepanz zu der im Master konfigurierten vorliegen.

Aber läuft das Skript als su behoben das Problem:

hadoop @ ubuntu: ~/hadoop/Tierpfleger/zookeeper-3.4.8 $ sudo bin/zkServer.sh Start

ZooKeeper JMX standardmäßig aktiviert mit config: /home/hadoop/hadoop/zookeeper/zookeeper-3.4.8/bin/../conf/zoo.cfg Ab zookeeper ... SCHRITTE

1

Die Defau lt zokeeper installation (tar extract) kommt mit der conf-Datei mit dem Namen conf/zoo_sample.cfg, während der gleiche Extrakt bin/zkServer.sh erwartet, dass die Conf-Datei zoo.cfg genannt wird, was zu einem "No solche Datei oder dir" und der "nicht schreiben pid" -Fehler führt. Also, bevor zkServer.sh anfangen zu laufen oder zookeeper Instanz zu stoppen, entweder:

  • benennen Sie die zoo_sample.cfg im conf dir zu zoo.cfg oder
  • geben Sie den Namen (und Pfad) in die conf-Datei (als suggested by Ilya Lapitan) natürlich oder
  • bearbeiten zkServer.sh ;-)
-1

Versuch verwenden sudo -E bin/zkServer.sh starten

0

Zum Verzeichnis/usr/local/etc/
Sie zookeeper Verzeichnis
löschen Sie das Verzeichnis
und starten Sie den Server finden - zkServer

+1

werfen Sie einen Blick auf eine Liste [Beispielliste] (https://stackoverflow.com/editing-help#simple-lists). –

0

Ändern Sie den Pfad starten geben dataDir =/tmp/zookeeper . Wenn es funktioniert, dann ist es eindeutig Zugriffsprobleme

Aber es ist in der Regel nicht ratsam, Tmp-Verzeichnis zu verwenden.

Verwandte Themen