最近在启动完hbase后,大量region server死亡,以及在shell命令中创建表时报如下错误:
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.createTable(HMaster.java:2085)
at org.apache.hadoop.hbase.master.MasterRpcServices.createTable(MasterRpcServices.java:706)
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:356)
at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:336)
经排查,发现错误的原因是之前配置错误时,启动错误的hbase集群会有导致相关错误信息残留在zookeeper客户端的hbase目录以及hdfs的hbase目录中。
解决方案:
先关闭hbase集群,删除hdfs的hbase目录 和 zookeeper的hbase目录
方法:
hdfs dfs -rm -r /hbase
zookeeper客户端删除hbase目录
删除后再开启hbase集群 ,问题解决