最近在做一个Flink实时数仓的项目,发现启动HBase的时候HMaster老是掉点,而HRegionServer功能一切正常。看了很多CSDN的攻略,有让改hbase-site.xml文件的,有让启动zkCli删除/hbase根目录的,都没有用,HMaster还是照样掉点,很搞心态。

其实这个时候,有可能出问题的并不是你的HBase而是你的Hadoop系统。如果CSDN的所有解决方案都无效,可以参考一下这篇回答。

首先,最基本的操作,查看日志。进入到HBase下logs文件中,使用cat + 文件名命令查看日志。例如我这里的是hbase-root-master-hadoop102.log。找到第一个报错的地方,某一条信息下面有一大串附加信息基本就是报错信息了。例如,这是我的报错信息。

问题就出在这点,很多人会直接复制前面的HMaster:Failed to become active master去搜索解决方案,然后所有解决方案都是教你改配置文件的。其实这里真正的问题出在后面的“Operation category READ is not supported in state standby.",这里导致HMaster自动掉点的原因并不是HMaster本身,而是Hadoop系统!

解决方案

启动hadoop系统和zookeeper,在zookeeper根目录下执行命令:

bin/zkCli.sh

打开后,执行命令:

ls /

查看系统目录中所有的子目录。

接着,删除/hbase 和 /hadoop 相关的目录。注意,这里删除会直接清空所有/hbase和/hadoop的数据,如果存有重要数据请做好备份,学习使用可以直接删。

注意这里有的版本是用rmr,而楼主这里的版本是用deleteall。注意看提示。

例如,楼主这里删除hbase的指令如下:

deleteall /hbase

做完这些之后,格式化zkfc。

[root@hadoop102 ~]$ hdfs zkfc -formatZK

接着,初始化。在所有nn节点上启动。

hdfs --daemon start zkfc

测试网址,注意把hadoop102改成自己的主机地址,如果端口号不是16010的也记得修改: 

http://hadoop102:16010

启动成功!

综上,看报错信息的时候不要只看第一行,血的教训!一定要认真看那些报错信息想表达什么,而不是直接复制粘贴寻找解决方案。

参考文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: