hbase 启动错误no active master location found 处理

问题描述

  • hadoop启动后,启动 hbase, 进入 hbase shell,执行命令时出现 “zookeeper available, no active master location found”,进入 hbase 的管理界面出现 InvalidProtocolBufferException
hbase log日志输出.png

软件版本

  • hadoop-3.2
  • hbase-2.1
  • phoenix-5.0
  • zookeeper-3.4

安装方式

  • 集群安装,3台机器,master, slave, slave2

问题排查

  • 出现该问题后,首先是要查看 hbase 的日志,在日志里面出现 InvalidProtocolBufferException 的前面,会有
    这么一句话 “Another master is the active master, null; waiting to become the next active master”
  • 用 jps 命令查看 HMaster 是否启动,经过查看,HMaster 没有正常启动,这个节点的信息是存储在 zookeeper里面的
  • 信息显示,zookeeper 是正常的,但是 hbase 的客户端在 zookeeper 里面找不到 hbase master 节点的信息
  • 尝试在 zookeeper 的客户端里面执行命令 “get /hbase/master”,查看不到信息

解决方式

  • 重启 hbase
  • 尝试在 zookeeper 的客户端里面执行命令 “get /hbase/master”,可以获取到信息


    可以获取到 master信息.png
  • 进入 hbase 管理界面,也可以正常显示


    image.png
  • 这时候进入 hbase shell 进行操作,也恢复正常了

凭借 对 hbase的一点点了解,已经暂时把问题解决了,但是为什么会出现这个问题,还要仔细研究。

你可能感兴趣的:(hbase 启动错误no active master location found 处理)