当前位置:   article > 正文

HBase报错:Master is initializing_error: org.apache.hadoop.hbase.pleaseholdexception

error: org.apache.hadoop.hbase.pleaseholdexception: master is initializing

现象:org.apache.hadoop.hbase.PleaseHoldException: Master is initializing

描述:在启动HBase之后进入bin/hbase shell 命令行进行一些操作,比如建表或者添加数据到表中出现这种报错org.apache.hadoop.hbase.PleaseHoldException: Master is initializing

  1. ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
  2. at org.apache.hadoop.hbase.master.HMaster.checkInitialized(HMaster.java:2739)
  3. at org.apache.hadoop.hbase.master.HMaster.disableTable(HMaster.java:2310)
  4. at org.apache.hadoop.hbase.master.MasterRpcServices.disableTable(MasterRpcServices.java:802)
  5. at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
  6. at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:395)
  7. at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:133)
  8. at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:338)
  9. at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:318)

分析:Master正在初始化
        1、集群中的节点时间不同步,可以在启动的集群中使用命令行:date,查看各个节点的时间是否同步,如果不同步,可以参考这篇博客进行集群离线状态时间同步的修改https://blog.csdn.net/m0_46413065/article/details/116378004
        2、如果以上方式仍然没有效果,可能报错的原因二是:HDFS中和Zookeeper中的HBase没有删除,所以这里需要将其进行删除,具体的命令如下:注意:删除Zookeeper中的 /hbase 目录,需要保证zookeeper已经开启,否则无法连接上。

方案:1.删除zookeeper中的所有的/hbase目录

  1. # 切换到zookeeper的bin目录下
  2. cd /opt/module/zookeeper/bin
  3. # 然后执行 ./zkCli.sh 命令
  4. [XXhadoop102 bin]$ ./zkCli.sh
  5. # 输入 ls / 命令行查看所有的内容
  6. [zk: localhost:2181(CONNECTED) 0] ls /
  7. [hbase, kafka, servers, spark, zookeeper]
  8. # 使用 rmr /hbase 或者 deleteall /hbase 删除zookeeper中的所有 hbase的目录
  9. [zk: localhost:2181(CONNECTED) 3] deleteall /hbase
  10. Node does not exist: /hbase
  11. # 此时,可以看到Zookeeper中已经没有HBase了
  12. [zk: localhost:2181(CONNECTED) 5] ls /
  13. [kafka, servers, spark, zookeeper]

然后重启HBase即可

        2.删除HDFS下的所有HBase目录

  1. # 词命令行运行是在Hadoop的根目录下
  2. [XX@hadoop102 hadoop]$ hdfs dfs -du -rm -r /hbase

执行以上操作之后,然后依次启动Zookeeper,Hadoop,HBase。然后在进入HBase中的bin/hbase shell 的目录中进行操作。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/598813
推荐阅读
相关标签
  

闽ICP备14008679号