前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >启动 HBase 报错:FATAL [hadoop001:16000.activeMasterManager] master.HMaster: Failed to become active m...

启动 HBase 报错:FATAL [hadoop001:16000.activeMasterManager] master.HMaster: Failed to become active m...

作者头像
CoderJed
发布2018-09-13 10:37:08
1.8K0
发布2018-09-13 10:37:08
举报
文章被收录于专栏:Jed的技术阶梯

我在 hadoop001、hadoop002 和 hadoop003 节点上安装了 HBase 集群,其中 hadoop001 和 hadoop002 为 HMaster,hadoop002 和 hadoop003 为 HRegionServer,启动 HBase 后,发现 hadoop002 的 HMaster 和 HRegionServer 进程正常启动,hadoop003 上的 HRegionServer 正常启动,但 hadoop001 上的 HMaster 进程却没有启动,查看 hadoop001 节点上的 HBASE_HOME/logs/hbase-hadoop-master-hadoop001.log 日志文件发现如下报错:

代码语言:javascript
复制
2018-05-28 18:19:14,394 FATAL [hadoop001:16000.activeMasterManager] master.HMaster: Failed to become active master
org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.StandbyException): Operation category READ is not supported in state standby
        at org.apache.hadoop.hdfs.server.namenode.ha.StandbyState.checkOperation(StandbyState.java:87)
        at org.apache.hadoop.hdfs.server.namenode.NameNode$NameNodeHAContext.checkOperation(NameNode.java:1727)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkOperation(FSNamesystem.java:1352)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getFileInfo(FSNamesystem.java:4174)
        at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getFileInfo(NameNodeRpcServer.java:881)
        ......

我同时在 hadoop001~hadoop004节点上安装了 hadoop HA集群,查看状态发现,hadoop001 是 standby 状态,hadoop002 是 active 状态,然后我查看 hbase 集群的 hbase-site.xml 文件发现:

代码语言:javascript
复制
<property>
     <name>hbase.rootdir</name>
     <value>hdfs://hadoop001:9000/hbase</value>
</property>

原来我指定 hbase.rootdir 在 hadoop001 上,而我的 hadoop 集群是 HA集群,hadoop集群的 core-site.xml 中的配置是:

代码语言:javascript
复制
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://beh/</value>
</property>

而由于 hadoop001 此时是 standby 状态,所以不能从 hadoop001 上去读取 hbase.rootdir 中的文件,导致异常的发生。

解决问题:

  • 先修改 hbase 集群中的所有的 hbase-site.xml
代码语言:javascript
复制
<property>
        <name>hbase.rootdir</name>
        <value>hdfs://beh/hbase</value>
</property>
  • 把 hadoop 集群的配置文件 core-site.xml 和 hdfs-site.xml 这两个配置文件复制到各 HBASE_HOME/conf/下
  • 杀掉所有的 HBase 进程并重启 HBase

问题解决!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.05.29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档