四种方法解决 -- HBase启动shell报错--ERROR: Can't get master address from ZooKeeper; znode data == null

1.报错如下:

hbase(main):001:0> list

ERROR: Can't get master address from ZooKeeper; znode data == null

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:.*'

2. 解决方法 – 四种

注:四种方法的解决范围依次增加,恢复的可能性依次增加,可以依次尝试。

  1. 关闭hbase,然后重启(最简单的尝试)

  2. 查看/tmp目录权限,并将其拥有者修改为 hadoop:

sudo chown -R hadoop /tmp

在这里插入图片描述
关闭 hbase后,重启启动。

  1. 检查 hbase-site.xml配置
    主要配置:hbase.zookeeper.property.dataDir,指定写入zookeeper信息的目录
    博主的配置如下:
<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://master:9000/hbase</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/home/hadoop/zookeeper</value>
    </property>
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <property>
        <name>hbase.master.maxclockskew</name>
        <value>30000</value>
    </property>
    <property>
        <name>hbase.master</name>
        <value>hdfs://master:6000</value>
    </property>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>master,slave1,slave2</value>
    </property>
</configuration>

检查无误后

  • 删除 HDFS上的 /hbase目录
  • 删除 master、slave节点 /home/hadoop/zookeeper 目录
  • 删除 master、slave节点 hbase安装目录下 logs目录下的日志文件(因为上面操作为清空所有的Hbase启动信息,以前的日志文件几乎没有什么用处,当然这是学习情况下,工作中还是做好备份)

上述三步做完后,最好重启所有机器,重启后开启HDFS,开启HBase。

  1. 格式化 HDFS(实在不能解决问题,但也是最不推荐的方法)

上述所有操作皆为博主HBase报错后,执行相应操作后成功解决问题(主要是使用第2种方法),对于遇到相同问题的,可以尝试该解决办法,但不能保证一定成功。
  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值