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:
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.
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:
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:
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
):
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.
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:
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.)
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.
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.
Tags und Links hbase apache-zookeeper