Hbase ERROR: Can‘t get master address from ZooKeeper; znode data == null 解决方案

5 篇文章 0 订阅
1 篇文章 0 订阅

最近在给新机器配置hbase集群时候出现个问题。错误信息为:
ERROR: Can’t get master address from ZooKeeper; znode data == null

前期探索

  • 判断zookeeper问题
    根据错误信息描述,潜意识认为是zookeeper集群没有起来,就跑到集群中看错误信息,发现一个leader两个follwer正常运行。初步排除集群问题,然后根据网上的一些错误描述说是节点数据问题,需要删除data目录下的内容(除myid文件)然后重启,试之~ 无果。
  • hbase启动问题
    多次重启hbase和zookeeper集群,问题依旧。Can’t get master address from ZooKeeper; znode data == null
  • 找日志
    对于这种没有头绪的情况,一般都是去分析日志,这种中间件一般都会在安装根目录下存在log文件夹,然后我们可以发现很多日志文件,就找个最近更新的吧,然后tail 一下发现了错误信息,问题如下:
    在这里插入图片描述
    在这里插入图片描述
    根据错误信息分析一下,说是找不到8020端口,这里我们知道8020是hadoop下hdfs的相关端口于是查询hdfs运行状况,发现正常运行。在这里插入图片描述

解决方案如下:

然后初步判断是配置出问题了,所以去检查配置文件,habse的配置文件相对于hadoop配置文件少之又少,我们可以看到conf下的hbase-site.yml的

  <name>hbase.rootdir</name>
  <value>hdfs://hadoop-master/hbase-new</value>
  </property>

和hadoop配置core-site.yml比对一番

<property>
 <name> fs.default.name </name>
 <value>hdfs://hadoop-master:9000</value>
</property>

可以看到明显少写了端口,结合网上的一些情况最终初步判断是这个原因,于是修改hbase-site.yml的部分内容为:

  <name>hbase.rootdir</name>
  <value>hdfs://hadoop-master:9000/hbase-new</value>
  </property>

然后重启。如果配置环境变量了可以在任意目录下输入 hase shell,然后就会进入到hbase控制台,我们通过一个简单的命令查看所有表
list,结果如下:
在这里插入图片描述
可以发现不在报错,把所有表都列出来了,这里由于我是新装的,所以没有,我们可以手动创建一个表

create 'userinfo' 'family' 'work';
list;

可以发现创建成功。
在这里插入图片描述

总结:

  • 检查zk集群是否启动成功
  • 尝试删除一下zk data目录下的数据(除myid文件)然后重启
  • 查看错误日志
  • 根据日志进一步定位问题
  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

uniquewdl

匆忙的人生,总有你喜欢的文章

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值