hbase Master is initializing 问题记录


1. 问题描述

在使用hbase命令时抛出如下异常

hbase(main):002:0> list_namespace
NAMESPACE                                                                                                                                                                                          

ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
    at org.apache.hadoop.hbase.master.HMaster.checkInitialized(HMaster.java:2966)
    at org.apache.hadoop.hbase.master.HMaster.getNamespaces(HMaster.java:3262)
    at org.apache.hadoop.hbase.master.MasterRpcServices.listNamespaceDescriptors(MasterRpcServices.java:1203)
    at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
    at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:413)
    at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:131)
    at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:324)
    at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:304)

List all namespaces in hbase. Optional regular expression parameter could
be used to filter the output. Examples:

  hbase> list_namespace
  hbase> list_namespace 'abc.*'

Took 9.3384 seconds 

2. 问题分析

原因是我删除了原来的 hbase, 然后将 hbase 重装以后 zookeeper 中的元数据产生了冲突, 导致hbase master 一直在初始化状态, 我们需要将 之前的hbase元数据从hbase 中删除, 然后重启 hbase

3. 解决问题

# 1. 进入 zookeeper 命令行
[root@node1 bin]# ./zkCli.sh 
Connecting to localhost:2181

# 查看 zookeeper 中的 hbase目录
[zk: localhost:2181(CONNECTED) 0] ls /

[cluster, brokers, storm, infra-solr, zookeeper, hbase-unsecure, dubbo, admin, isr_change_notification, dolphinscheduler, log_dir_event_notification, xsight, hiveserver2, controller_epoch, hiveserver2-leader, kafka-manager, rmstore,  consumers, ambari-metrics-cluster, latest_producer_id_block, config, hbase]

# 删除 hbase 的相关文件夹
[zk: localhost:2181(CONNECTED) 2] rmr /hbase
[zk: localhost:2181(CONNECTED) 2] rmr hbase-unsecure

# 删除之后重启 hbase

4. 测试效果

hbase(main):002:0* 
hbase(main):003:0* list_namespace
NAMESPACE                                                                                                                                                                                          
default                                                                                                                                                                                            
hbase                                                                                                                                                                                              
2 row(s)
Took 9.8397 seconds  

5. 注意:

我这里情况是 因为新旧 hbase 元数据冲突导致的, 并且 hbase 里面没有任何数据, 如果你遇到这个问题, 首先要确定是否是 元数据冲突导致, 还有一点, 如果你的 hbase 已经有大量数据的情况下, 不适用这种方法。


文章作者: hnbian
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 hnbian !
评论
  目录