当用户启动hbase后,在命令行上执行 list 或者 status 命令报错:ERROR: org.apache.hadoop.hbase.PleaseHoldException:Master is initializingat org.apache.hadoop.hbase.master.HMaster.checkInitialized(HMaster.java:2379)
at org.apache.hadoop.hbase.master.MasterRpcServices.getTableNames(MasterRpcServices.java:900)
at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:55650)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2196)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112)
at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:133)
at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:108)
at java.lang.Thread.run(Thread.java:748)
Here is some help for this command: List all tables in hbase. Optional regular expression parameter could
出现这种问题可以查看hbase启动日志,日志在 hbase 下的logs目录中,一般查看以 .log 结尾的日志文件。
如果是
org.apache.hadoop.hbase.ClockOutOfSyncException:org.apache.hadoop.hbase. ClockOutOfSyncException
因为 多台节点的时间不同步,导致节点之间的连接时间超时。解决方法可以查看我的另一篇博客 关于org.apache.hadoop.hbase.ClockOutOfSyncException: org.apache.hadoop.hbase. ClockOutOfSyncException的解决办法。
如果解决了时间节点问题还是有异常,那么就查看 hbase 的conf 目录下 的 hbase-site.xml 配置文件。
有可能是hbase.rootdir 参数写成了 hbase.root.dir
修改后的hbase-site.xml如下:
- <configuration>