目录
ERROR: org.apache.hadoop.hbase.ipc.ServerRunningYetException: Server is not running yet
ERROR:Cant't get master address from Zookeeper; znode data == null
ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
ERROR: org.apache.hadoop.hbase.ipc.ServerRunningYetException: Server is not running yet
hbase保存, 压缩引起的
解决办法:
查看dfs模式,果然是安全模式
grid@master1:~$ hadoop dfsadmin -safemode get
Safe mode is ON
关闭dfs安全模式
grid@master1:~$ hadoop dfsadmin -safemode leave
Safe mode is OFF
再次启动Hbase,能正常启动
:::::::::
ERROR:Cant't get master address from Zookeeper; znode data == null
hbase没有master节点:
重启hbase
ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
[root@slave1 hbase-1.2.0-cdh5.7.0]# bin/hbase shell
2019-03-29 11:01:46,468 INFO [main] Configuration.deprecation: hadoop.native.lib is deprecated. Instead, use io.native.lib.available
2019-03-29 11:01:48,454 WARN [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/root/hadoop/hbase-1.2.0-cdh5.7.0/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/root/hadoop/hadoop-2.6.0-cdh5.7.0/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.2.0-cdh5.7.0, rUnknown, Wed Mar 23 11:46:29 PDT 2016
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:2303)
at org.apache.hadoop.hbase.master.MasterRpcServices.getTableNames(MasterRpcServices.java:905)
at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:55650)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2170)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:109)
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
be used to filter the output. Examples:
hbase> list
hbase> list 'abc.*'
hbase> list 'ns:abc.*'
hbase> list 'ns:.*'
查看一下mater节点的日志发现
最后定位到是在hbase-site.xml加了一个配置
<property>
<name>hbase.hstore.engine.class</name>
<value>org.apache.hadoop.hbase.regionserver.DateTieredStoreEngine</value>
</property>
因为这个配置报错了, 在当前的hbase版本不存在这个类。
把这个配置删掉后,在重新就成功了, 差不多弄了2天,最后才定位到这里,我也是醉了。
注意:出现上面问题org.apache.hadoop.hbase.PleaseHoldException: Master is initializing的原因有很多
解决问题最好的办法: 就是去看log的报错原因,然后再去百度,谷歌。
在出现这个错误的时候,执行list后,一定要查看log上的报错,查询报错的原因,千万不要报错了就去百度。
你在网上一搜,别人都是把解决方法写下来,但是错误原因没有,然后很浪费你的时间,之前我就是这样浪费了很多时间,而且最后也没解决问题。