Hbase 启动后 HMaster 很快就挂掉 TableExistsException: hbase:namespace
经查看 集群节点日志 报错如下:
2017-09-01 00:19:23,256 FATAL [hadoop01:16020.activeMasterManager] master.HMaster: Failed to become active master
org.apache.hadoop.hbase.TableExistsException: hbase:namespace
at org.apache.hadoop.hbase.master.handler.CreateTableHandler.checkAndSetEnablingTable(CreateTableHandler.java:151)
at org.apache.hadoop.hbase.master.handler.CreateTableHandler.prepare(CreateTableHandler.java:124)
at org.apache.hadoop.hbase.master.TableNamespaceManager.createNamespaceTable(TableNamespaceManager.java:233)
at org.apache.hadoop.hbase.master.TableNamespaceManager.start(TableNamespaceManager.java:86)
at org.apache.hadoop.hbase.master.HMaster.initNamespace(HMaster.java:787)
at org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:641)
at org.apache.hadoop.hbase.master.HMaster.access$500(HMaster.java:157)
at org.apache.hadoop.hbase.master.HMaster$1.run(HMaster.java:1332)
at java.lang.Thread.run(Thread.java:745)
原因:由于hbase非正常启动,在zookeeper上没有把相应的/hbase节点注销,所以再次启动会报上面的错。
解决方案:
登录zookeeper,删除/hbase节点。
[hadoop@hadoop02 ~]$ zkCli.sh
[zk: localhost:2181(CONNECTED) 0] ls /
[isr_change_notification, hbase, zookeeper, admin, consumers, config, brokers, controller_epoch]
[zk: localhost:2181(CONNECTED) 2] rmr /hbase
[zk: localhost:2181(CONNECTED) 4] ls /
[isr_change_notification, zookeeper, admin, consumers, config, brokers, controller_epoch]
然后重启启动 HBase 测试 ok!