Wie kann ich überprüfen, ob ZooKeeper ausgeführt wird oder an der Eingabeaufforderung ausgeführt wird?


77

Ich habe einige Optionen zum Einrichten von Kafka untersucht und wusste, dass der Zookeeper betriebsbereit sein muss, um ein Kafka zu initiieren.

Ich würde gerne wissen, wie ich das unten finden kann.

1) Hostname und Port für meine Zookeeper-Instanz --- Ich habe die Datei zoo.cfg überprüft und konnte nur den ClientPort finden, nicht den Hostnamen. Wird der Hostname der Hostname meiner Box sein?

2) Um zu überprüfen, ob ZooKeeper läuft, habe ich versucht, etwas zu tun, bei dem ps -ef | grep "zoo"ich nichts finden konnte. Kann ich ein falsches Schlüsselwort für die Suche verwenden?

Jede Hilfe wäre wirklich dankbar?


Meinst du from the command prompt on zookeeper's node?oderfrom the client node's command prompt?
Jesse Chisholm

Antworten:


78

Um zu überprüfen, ob Zookeeper zugänglich ist. Eine Methode besteht darin, einfach an den richtigen Port zu telneten und den Befehl stats auszuführen.

root@host:~# telnet localhost 2181
Trying 127.0.0.1...
Connected to myhost.
Escape character is '^]'.
stats
Zookeeper version: 3.4.3-cdh4.0.1--1, built on 06/28/2012 23:59 GMT
Clients:

Latency min/avg/max: 0/0/677
Received: 4684478
Sent: 4687034
Outstanding: 0
Zxid: 0xb00187dd0
Mode: leader
Node count: 127182
Connection closed by foreign host.

4
Telnet ist oft nicht verfügbar / auf den Servern installiert
Vijay Kumar

3
'stats' funktioniert unter Windows nicht. Versuchen Sie stattdessen 'srvr'.
Xieyi

81

Eine andere Möglichkeit wäre die Verwendung von 4-Buchstaben-Befehlen, um zu überprüfen, ob der Zookeeper-Dienst fehlerfrei ist oder nicht

echo stat | nc <zookeeper ip> 2181
echo mntr | nc <zookeeper ip> 2181
echo isro  | nc <zookeeper ip> 2181

Weitere Details finden Sie unter dem Dokumentationslink unter https://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_zkCommands


8
echo ruok | nc <zookeeper ip> 2181Gibt nur "imok" zurück, wenn es in Ordnung ist. Das ist wahrscheinlich am einfachsten zu analysieren.
Mitchell Tracy

ncist möglicherweise nicht in allen Umgebungen verfügbar.
Jesse Chisholm

52

Gehen Sie zum bin-Verzeichnis von Zookeeper und geben Sie ein

./zkServer.sh status

Weitere Informationen finden Sie unter folgendem Link:

http://www.ibm.com/developerworks/library/bd-zookeeper/

Hoffe das könnte dir helfen.


Siehe: zookeeper.apache.org/doc/r3.4.8/zookeeperStarted.html und ändern Sie "r3.4.8" in Ihre zookeeper-Version
qxo

zkServer Status ZooKeeper JMX standardmäßig aktiviert Mit config: /usr/local/etc/zookeeper/zoo.cfg Modus: Standalone
SameerShaik

19
echo stat | nc localhost 2181 | grep Mode
echo srvr | nc localhost 2181 | grep Mode #(From 3.3.0 onwards)

Oben funktioniert in jedem Modus, den Zookeeper ausführt (eigenständig oder eingebettet).

Ein anderer Weg

Wenn zookeeper im Standalone-Modus ausgeführt wird, handelt es sich um einen JVM-Prozess. damit -

jps | grep Quorum

zeigt eine Liste der JVM-Prozesse an; so etwas für Tierpfleger mit Prozess-ID

HQuorumPeer

15

Ich habe einen Test gemacht:

Wenn es läuft:

$ /usr/lib/zookeeper/bin/zkServer.sh status
JMX enabled by default
Using config: /usr/lib/zookeeper/bin/../conf/zoo.cfg
Mode: follower

Wenn es gestoppt ist:

$ zkServer status                                                                                                                                
JMX enabled by default
Using config: /usr/local/etc/zookeeper/zoo.cfg
Error contacting service. It is probably not running.

Ich laufe nicht auf demselben Computer, aber Sie haben die Idee.


7

Geben Sie den folgenden Befehl ein, um zu überprüfen, ob zookeeper ausgeführt wird:

echo "ruok" | nc localhost 2181 ; echo 

erwartete Antwort: imok


6

Zookeeper ist nur ein Java-Prozess, und wenn Sie eine Zookeeper-Instanz starten, wird eine org.apache.zookeeper.server.quorum.QuorumPeerMainKlasse ausgeführt. So können Sie nach einem laufenden Zookeeper wie folgt suchen:

jps -l | grep zookeeper

oder sogar so:

jps | grep Quorum

upd:

dazu: will hostname be the hostname of my box??- die Antwort lautet ja.


3

Ich benutze:

  jps

Abhängig von Ihrer Installation würde ein laufender Zookeeper aussehen

  HQuorumPeer

oder etw. mit Tierpfleger im Namen.


0

Von einem Windows 10

  • Öffnen Sie die Eingabeaufforderung, geben telnet localhost 2181Sie ein und geben Sie srvr ODER ein
  • Öffnen Sie im Ordner bin ein PowerShell-Fenster und geben Sie ein zkServer.sh status
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.