Hbase-Fehler zookeeper existiert nach 3 Retirys fehlgeschlagen

8

Ich benutze den Standalone-Modus von HBASE 0.94.8 in Ubuntu. Es funktioniert gut, ich kann alle Operationen in Hbase-Shell ausführen. Aber nachdem ich von meinem System eingeloggt habe gibt es folgenden Fehler

%Vor%

Ja sicher, ich habe viel gesucht. Ich habe einige Informationen ZooKeeper exists nach 3 Wiederholungen fehlgeschlagen gefunden. Möglicherweise liegt dieser Fehler daran, dass zookeeper gestoppt wurde. Aber ich weiß es nicht, um es noch einmal neu zu starten. Ich habe versucht, Hbase und thrift erneut zu starten, aber das ist immer noch ein Problem.

Dieser Befehl ps axww | grep QuorumPeerMain gibt mir folgende Ausgabe:

%Vor%

Hbase beginnt zu arbeiten, wenn ich mein System neu starte. Aber ich will richtige Lösung.

Temporäre Lösung

mit folgendem Befehl grep diesen Prozess von HBASE:

%Vor%

und dann alle Prozesse von HBASE beenden:

%Vor%

Dann startete hbase mit sudo und thrift und es fängt an zu arbeiten, aber ich möchte dauerhafte Lösung. Denn wenn ich HBASE im Server verwende (bedeutet nicht lokale Maschine), kann ich HBASE nicht jedes Mal neu starten.

    
Manwal 28.07.2015, 10:58
quelle

6 Antworten

3

Problem :

Der Hbase-Fehler "zookeeper" ist nach drei Neustarts fehlgeschlagen zeigt deutlich an, dass das zookeeper-Quorum nicht ausgeführt wird - die wahrscheinlichste Ursache ist eine gewisse Inkonsistenz mit Ihrer zookeeper.quorum-Einstellung in conf/hbase-site.xml , das Minimum muss sein:

%Vor%

Im nächsten Abschnitt wird kurz erwähnt, warum Zoowärter benötigt wird und wie man überprüfen kann, ob es funktioniert.

Eine Übersicht :

Ausgehend von Ihrem Text (Standalone-Setup) - Sie vermischen Dinge. Zookeeper in einfachen Worten verwaltet HBase und ist eine Muss-Anforderung.

Standardmäßig behandelt HBase selbst die Einrichtung von zookeeper, start-stop (obwohl man das ändern kann) - um den Einblick in die Datei conf/hbase-evn.sh (in Ihrem hbase-Verzeichnis) zu überprüfen, muss eine Zeile vorhanden sein:

%Vor%

Sagt HBase grundsätzlich, ob es seine eigene Instanz von Zookeeper verwalten soll oder nicht. Falls es auf false eingestellt ist, bearbeite es mit true .

Jetzt zur Überprüfung gibt es einen hilfreichen Befehl (vergiss die ps und dann grep ):

%Vor%

Der Befehl listet alle Java-Prozesse (HBase ist selbst eine Java-Anwendung) auf der Maschine auf, d. h. die wahrscheinliche Ausgabe muss (für ein minimales eigenständiges HBase-Setup) sein:

%Vor%

Beenden Sie nicht einfach den HBase-Prozess, sondern verwenden Sie das Start-Stop-Dienstprogramm:

%Vor%

Nehmen Sie die notwendigen Änderungen vor und starten Sie sie erneut:

%Vor%

PS Ich hätte Ihre Frage (vollständig) falsch interpretieren können, lassen Sie es mich in den Kommentaren wissen Ich melde mich wieder bei Ihnen und erhalte die Lösung - für die kommenden SO-Besucher.

    
Nabeel Ahmed 13.04.2016 07:52
quelle
2

Offenbar hängt das Problem nicht mit hbase oder zookeeper zusammen. Es ist ein Systemeinstellungsproblem.

Ich habe das gleiche Problem nach meinem Mac OS X Update.

Es stellte sich heraus, dass die DNS-Einstellungen durch das Update geändert wurden. Ich sah das in HBase-Logs:

%Vor%

Nach dem Entfernen der DNS-Einstellungen in hbase-site.xml wurde das Problem gelöst:

%Vor%     
Dmitry Petrov 09.06.2017 18:51
quelle
2

Wenn Sie sich die Protokolldateien ansehen, werden Sie feststellen, dass der Tierpfleger keine Verbindung zu einem Port herstellen kann. Zum Beispiel 543210 . Das heißt einfach Wenn Sie zuvor Hadoop auf Ihrem Computer installiert haben, versucht hbase, den vorherigen Tierpfleger der vorherigen Hadoop-Installation zu suchen. Bitte benennen Sie Ihr bestehendes Hadoop-Setup um oder entfernen Sie das komplette Hadoop von Ihrem System. (Beachten Sie jedoch, dass der Tierpfleger die Dinge auch nach einer Löschung noch zu löschen scheint.)

  • Benennen Sie den Hadoop-Installationsordner um
  • Entfernen Sie den Eintrag aus der .bashrc-Datei
  • Neustart des Computers
shubham bhindwal 04.09.2017 10:37
quelle
0

Wenn es der einzige zooführende Tierpfleger ist, sollte dies Ihnen helfen. Ich hoffe, Ihnen ist bewusst, dass der Tierpfleger vor dem Start von HBase in Betrieb sein sollte.

    
Ramzy 28.07.2015 15:10
quelle
0

Ich habe fast den gleichen Fehler "ZooKeeper existiert nach vier Versuchen fehlgeschlagen". Dies wurde dadurch verursacht, dass ./start-hbase.sh ausgeführt wurde, ohne dass eine Verbindung zum Port 2181 hergestellt werden konnte. Die Lösung erwies sich als sehr einfach:

%Vor%

Ich habe die gleiche Konfiguration von hbase-site.xml verwendet wie in Nabeel Ahmeds Beitrag.

    
APW 14.12.2016 13:39
quelle
0

Mine arbeitet mit dem Befehl sudo

%Vor%     
y durga prasad 29.05.2017 07:23
quelle

Tags und Links