Hbase使用shell命令出现报错:PleaseHoldException: Master is initializing 解决办法

Posted Z.Q.Feng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hbase使用shell命令出现报错:PleaseHoldException: Master is initializing 解决办法相关的知识,希望对你有一定的参考价值。


项目场景:

  • Ubuntu20.04
  • Hadoop3.2.2
  • Hbase2.2.2

问题描述:

主要错误如下:ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing

在启动 Hbase shell 后,使用 create, list 等命令时,出现如下报错:

hbase(main):001:0> list
TABLE 
                                                                                                                    
ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
        at org.apache.hadoop.hbase.master.HMaster.checkInitialized(HMaster.java:2452)
        at org.apache.hadoop.hbase.master.MasterRpcServices.getTableNames(MasterRpcServices.java:915)
        at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:58517)
        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2339)
        at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:123)
        at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:188)
        at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:168)

For usage try 'help "list"'

Took 10.297 seconds

原因分析:

这里我的电脑上只是单纯为 Hadoop 伪分布式集群配置了 Hbase 应用,所以像网上其他说的 Hbase 和 Zookeeper 服务器时间不一致问题我觉的是不大可能的, 主要原因应该是:Hadoop 和 Hbase 的进程不一致,导致 Master 结点一直在初始化。


解决方案:

格式化 Hadoop 中的 Hbase 文件系统,重新启动 Hbase,让两者重新同步:

先关闭所有 Hbase 服务:

cd /usr/local/hbase
bin/stop-hbase.sh

接着关闭所有 Hadoop 服务:

cd /usr/local/hadoop
sbin/stop-all.sh

输入 jps,确保所有 Hadoop 和 Hbase 进程均已关闭:

zq@fzqs-Laptop:~$ jps
4673 Jps

接着启动 Hadoop 服务:

cd /usr/local/hadoop
sbin/start-all.sh

查看 HDFS 中的文件:

bin/hdfs dfs -ls /

输出应如下(含 /hbase):

zq@fzqs-Laptop:/usr/local/hadoop$ bin/hdfs dfs -ls /
Found 1 items
drwxr-xr-x		- root supergroup 		0 2021-10-28 21:49 /hbase

删除 /hbase 目录:

bin/hdfs dfs -rm -r /hbase

启动 Hbase 服务:

cd /usr/local/hbase
bin/start-hbase.sh

接着再启动 shell,应该就能用了:

bin/hbase shell

以上是关于Hbase使用shell命令出现报错:PleaseHoldException: Master is initializing 解决办法的主要内容,如果未能解决你的问题,请参考以下文章

Shell脚本中实现hbase shell命令调用

使用java命令出现Error: A JNI error has occurred, please check your installation and try again的错误

npm i命令报错“Please try running this command again as root/Administrator”

安装hbase分布式集群出现的报错- ERROR:org.apache.hadoop.hbase.PleaseHoldException: Master is initializing

HBase 报错 ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing

hbaseshell命令显示已杀死