问题描述
我在启动 hbase shell
之后,使用shell指令时,出现 ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
这个问题。
ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
at org.apache.hadoop.hbase.master.HMaster.checkInitialized(HMaster.java:2829)
at org.apache.hadoop.hbase.master.HMaster.listNamespaces(HMaster.java:3141)
at org.apache.hadoop.hbase.master.MasterRpcServices.listNamespaces(MasterRpcServices.java:1050)
at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:392)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:133)
at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:359)
at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:339)
原因分析:
出现这个问题的原因可能是你的HBase在zookeeper中的元数据没有删除干净,我是之前安装过HBase,然后近期重装了一下其他版本,所以之前版本的HBase在zookeeper中的元数据没有删除干净。
解决方案:
连接zookeeper的客户端将原来的HBase的元数据删除即可
bin/zkCli.sh
然后使用如下指令删除HBase的元数据信息:
deleteall /hbase
之后重启HBase服务即可,注:删除元数据的时候要把HBase服务停止。