Inhaltsverzeichnis
1. Problemhintergrund
Beim Starten des hbase-Shell-Skripts und der Eingabe von list zum Anzeigen der Tabelle tritt der folgende Fehler auf
ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet
at org.apache.hadoop.hbase.master.HMaster.checkServiceStarted(HMaster.java:2731)
at org.apache.hadoop.hbase.master.MasterRpcServices.isMasterRunning(MasterRpcServices.java:1205)
at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:395)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:133)
at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:338)
at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:318)
2. Lösung
Nachdem ich viele Methoden im Internet gelesen hatte, sagten die meisten zunächst, dass hbase nicht gestartet werden kann, nachdem HDFS in den abgesicherten Modus wechselt, was zu Hadoop führt
Schalten Sie einfach den abgesicherten Modus aus und starten Sie HBase neu.
1. Überprüfen Sie, ob sich der Namensknoten in einem sicheren Zustand befindet:
hadoop dfsadmin -safemode get
Wenn der Sicherheitsmodus ausgeschaltet ist, befindet er sich im geschlossenen ZustandWenn der abgesicherte Modus aktiviert ist, ist er aktiviert und muss deaktiviert werden.
2. Deaktivieren Sie den abgesicherten Modushadoop dfsadmin -safemode verlassen
Ich habe diese Methode ausprobiert, aber meine war ursprünglich geschlossen und diese Methode hat mein Problem nicht gelöst.
Zweitens ist mein Hadoop 3.3.0 und HBase 2.4.3. Als ich es installiert habe, bin ich der offiziellen Website von HBase gefolgt. Auf der offiziellen Website stand, dass Hadoop3.3.X mit HBase2.4.x kompatibel ist, aber ich habe online nachgeschaut . Einige Informationen sprechen von Versionsinkompatibilität. Es wird gesagt, dass hadoop3.3. Ich habe es einfach nicht versucht
Schließlich sah ich eine Frage und eine Antwort, die besagten, dass das Problem durch das Hinzufügen einiger Konfigurationen zur hbase-Konfigurationsdatei hbase-site.xml gelöst wurde. Ich folgte diesem Beispiel und löste schließlich das Problem.
Die spezifische Methode ist wie folgt:
1. Stoppen Sie den hbase-Cluster
2. Fügen Sie die folgende Konfiguration zur Konfigurationsdatei hbase-site.xml hinzu
<property>
<name>hbase.wal.provider</name>
<value>filesystem</value>
</property>3. Starten Sie den hbase-Cluster von
Ich habe die zweite Methode verwendet, um es zu lösen