2014-06-20 9 views
5

In der heutigen Episode von Hbase bringt mich zu meinem Verstand Ende haben wir ein Problem, wo der HBase Master beginnt und dann sehr schnell stirbt. Mein Hauptprotokoll ist wie folgt:Hbase Master stirbt weiter, behauptet eine Hbase: Namespace existiert bereits

2014-06-20 12:52:40,469 FATAL [master:hdev01:60000] master.HMaster: Master serve 
r abort: loaded coprocessors are: [] 
2014-06-20 12:52:40,470 FATAL [master:hdev01:60000] master.HMaster: Unhandled ex 
ception. Starting shutdown. 
org.apache.hadoop.hbase.TableExistsException: hbase:namespace 
     at org.apache.hadoop.hbase.master.handler.CreateTableHandler.prepare(Cre 
ateTableHandler.java:120) 
     at org.apache.hadoop.hbase.master.TableNamespaceManager.createNamespaceT 
able(TableNamespaceManager.java:232) 
     at org.apache.hadoop.hbase.master.TableNamespaceManager.start(TableNames 
paceManager.java:86) 
     at org.apache.hadoop.hbase.master.HMaster.initNamespace(HMaster.java:106 
2) 
     at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.j 
ava:926) 
     at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:615) 
     at java.lang.Thread.run(Thread.java:662) 
2014-06-20 12:52:40,473 INFO [master:hdev01:60000] master.HMaster: Aborting 
2014-06-20 12:52:40,473 DEBUG [master:hdev01:60000] master.HMaster: Stopping ser 
vice threads 
2014-06-20 12:52:40,473 INFO [master:hdev01:60000] ipc.RpcServer: Stopping serv 
er on 60000 
2014-06-20 12:52:40,473 INFO [CatalogJanitor-hdev01:60000] master.CatalogJanito 
r: CatalogJanitor-hdev01:60000 exiting 
2014-06-20 12:52:40,473 INFO [hdev01,60000,1403283149823-BalancerChore] balance 
r.BalancerChore: hdev01,60000,1403283149823-BalancerChore exiting 
2014-06-20 12:52:40,474 INFO [RpcServer.listener,port=60000] ipc.RpcServer: Rpc 
Server.listener,port=60000: stopping 
2014-06-20 12:52:40,474 INFO [RpcServer.responder] ipc.RpcServer: RpcServer.res 
ponder: stopped 
2014-06-20 12:52:40,474 INFO [master:hdev01:60000] master.HMaster: Stopping inf 
oServer 
2014-06-20 12:52:40,474 INFO [RpcServer.responder] ipc.RpcServer: RpcServer.res 
ponder: stopping 
2014-06-20 12:52:40,474 INFO [master:hdev01:60000.oldLogCleaner] cleaner.LogCle 
aner: master:hdev01:60000.oldLogCleaner exiting 
2014-06-20 12:52:40,475 INFO [hdev01,60000,1403283149823-ClusterStatusChore] ba 
lancer.ClusterStatusChore: hdev01,60000,1403283149823-ClusterStatusChore exiting 

2014-06-20 12:52:40,476 INFO [master:hdev01:60000.oldLogCleaner] master.Replica 
tionLogCleaner: Stopping replicationLogCleaner-0x246ba2ab1e4001c, quorum=hdev02: 
5181,hdev01:5181,hdev03:5181, baseZNode=/hbase 
2014-06-20 12:52:40,479 INFO [master:hdev01:60000] mortbay.log: Stopped SelectC 
[email protected]:16010 
2014-06-20 12:52:40,478 INFO [master:hdev01:60000.archivedHFileCleaner] cleaner 
.HFileCleaner: master:hdev01:60000.archivedHFileCleaner exiting 
2014-06-20 12:52:40,483 INFO [master:hdev01:60000.oldLogCleaner] zookeeper.ZooK 
eeper: Session: 0x246ba2ab1e4001c closed 
2014-06-20 12:52:40,484 INFO [master:hdev01:60000-EventThread] zookeeper.Client 
Cnxn: EventThread shut down 
2014-06-20 12:52:40,589 DEBUG [master:hdev01:60000] catalog.CatalogTracker: Stop 
ping catalog tracker [email protected] 
2014-06-20 12:52:40,591 INFO [master:hdev01:60000] client.HConnectionManager$HC 
onnectionImplementation: Closing zookeeper sessionid=0x246ba2ab1e4001b 
2014-06-20 12:52:40,592 INFO [master:hdev01:60000] zookeeper.ZooKeeper: Session 
: 0x246ba2ab1e4001b closed 
2014-06-20 12:52:40,592 INFO [master:hdev01:60000-EventThread] zookeeper.Client 
Cnxn: EventThread shut down 
2014-06-20 12:52:40,695 INFO [hdev01,60000,1403283149823.splitLogManagerTimeout 
Monitor] master.SplitLogManager$TimeoutMonitor: hdev01,60000,1403283149823.split 
LogManagerTimeoutMonitor exiting 
2014-06-20 12:52:40,696 INFO [master:hdev01:60000] zookeeper.ZooKeeper: Session 
: 0x246ba2ab1e4001a closed 
2014-06-20 12:52:40,696 INFO [main-EventThread] zookeeper.ClientCnxn: EventThre 
ad shut down 
2014-06-20 12:52:40,696 INFO [master:hdev01:60000] master.HMaster: HMaster main 
thread exiting 
2014-06-20 12:52:40,697 ERROR [main] master.HMasterCommandLine: Master exiting 
java.lang.RuntimeException: HMaster Aborted 
     at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMaster 
CommandLine.java:194) 
     at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandL 
ine.java:135) 
     at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) 
     at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLi 
ne.java:126) 
     at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2803) 

Ich dachte, das könnte einige Überbleibsel eines alten Lauf, so löschte ich die Dateien in hbases Datenverzeichnis, das zookeepers Datenverzeichnis und meine hdfs. Ich habe immer noch den gleichen Fehler. Seltsamerweise kam mein HMaster Popper wieder zeitweise wieder auf, als ich stop-hbase.sh lief, obwohl ich nicht viel damit machen konnte.

Meine Hbase Version ist 98.3 und mein Hadoop ist 2.2.0. Mein hbase-site.comf ist

<configuration> 
<property> 
    <name>hbase.master</name> 
    <value>hdev01:60000</value> 
    <description>The host and port that the HBase master runs at. 
                A value of 'local' runs the master and a regionserver 
                in a single process. 
           </description> 
</property> 
<property> 
    <name>hbase.rootdir</name> 
    <value>hdfs://hdev01:9000/hbase</value> 
    <description>The directory shared by region servers.</description> 
</property> 
<property> 
    <name>hbase.cluster.distributed</name> 
    <value>true</value> 
    <description>The mode the cluster will be in. Possible values are 
           false: standalone and pseudo-distributed setups with managed 
           Zookeeper true: fully-distributed with unmanaged Zookeeper 
           Quorum (see hbase-env.sh) 
           </description> 
</property> 
<property> 
    <name>hbase.zookeeper.property.clientPort</name> 
    <value>5181</value> 
    <description>Property from ZooKeeper's config zoo.cfg. 
    The port at which the clients will connect. 
    </description> 
</property> 
<property> 
    <name>zookeeper.session.timeout</name> 
    <value>10000</value> 
    <description></description> 
</property> 
<property> 
    <name>hbase.client.retries.number</name> 
    <value>10</value> 
    <description></description> 
</property> 
<property> 
    <name>hbase.zookeeper.quorum</name> 
    <value>hdev01,hdev02,hdev03</value> 
    <description>Comma separated list of servers in the ZooKeeper Quorum. For example, "host1.mydomain.com,host2.mydomain.com". By default this is set to localhost for local and pseudo-distributed modes of operation. For a fully-distributed setup, this should be set to a full list of ZooKeeper quorum servers. If 
            HBASE_MANAGES_ZK is set in hbase-env.sh 
            this is the list of servers which we will start/stop 
            ZooKeeper on. 
       </description> 
</property> 
</configuration> 

EDIT Versuchte hbase org.apache.hadoop.hbase.util.hbck.OfflineMetaRepair, jetzt ist mein Fehler HBase file layout needs to be upgraded. You have version null and I want version 8. Is your hbase.rootdir valid? If so, you may need to run 'hbase hbck -fixVersionFile' ist, die da ohne einen Master hbck nicht hilfreich ist, wird nicht wirklich laufen . Bearbeitet bearbeiten Ich attackiert und startete meine dfs und versuchte dann wieder zu reparieren und Dinge zu starten, ich bin jetzt wieder da, wo ich angefangen habe.

Antwort

5

hbase-Namespace ist der interne Namespace, den HBAse für seine eigenen Verwaltungstabellen verwendet. Versuchen Sie, die Offline-Reparatur-Tool aus dem $ HBASE_HOME Verzeichnis auszuführen:

./bin/hbase org.apache.hadoop.hbase.util.hbck.OfflineMetaRepair 
+0

Das änderte meinen Fehler atleast. Jetzt sagt es mir WARNUNG! Das HBase-Dateilayout muss aktualisiert werden. Sie haben Version null und ich möchte Version 8. Ist Ihr hbase.rootdir gültig? Wenn dies der Fall ist, müssen Sie "hbase hbck -fixVersionFile" ausführen. was nicht hilfreich ist, da ich keinen Master habe, um hbck auf – chenab

+0

laufen zu lassen Und nachdem ich mein dfs und dann das offline Reparaturwerkzeug erneut ausgeführt habe, bin ich wieder wo ich angefangen habe – chenab

+3

Gut können Sie sich auch an zoekeeper anmelden und das/hbase dir (hbase zkcli und rmr/hbase dir - sei vorsichtig, nichts anderes zu löschen) –

2

su - hdfs

hbase org.apache.hadoop.hbase.util.hbck.OfflineMetaRepair

(starten Sie den hbase master.if noch u stehen vor Problem dann gehen Sie wie folgt)

zookeeper-Client (Enter)

RMR/hbase

beenden

Dann wird der hbase Master-Dienst

+0

Was ist, wenn der Zookeeper intern von Hbase verwaltet wird, d. H. HBASE_manages_ZK = true. Wie lösche ich dann die Daten im Tierpfleger?Ich habe den Reparaturbefehl versucht, aber keine Verwendung. Gleicher Fehler – Shash

1

@shash neu starten: Wenn HBase ZooKeeper verwaltet (das heißt HBASE_manages_ZK = true), wird der Befehl zum Zugriff und sauber hbase Daten: hbase zkcli. Danach reinigen Sie hbae mit dem Befehl rmr/hbase, dann Sie beenden.