分享

出现ERROR: Can't get master address from ZooKeeper; znode data == null解决办法

desehawk 发表于 2014-8-10 11:56:58 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 11 227078
本帖最后由 desehawk 于 2014-8-10 12:01 编辑
导读:出现此问题可能是zookeeper不稳定造成的,采用的是虚拟机,经常挂起的状态,使用hbase的list命令出现下面错误,这个可能是hbase的稳定性造成的,解决办法有两种。这里使用第一种办法就解决了。


  1. ERROR: Can't get master address from ZooKeeper; znode data == null
  2. Here is some help for this command:
  3. List all tables in hbase. Optional regular expression parameter could
  4. be used to filter the output. Examples:
  5.   hbase> list
  6.   hbase> list 'abc.*'
复制代码
解决方法:

1.重启hbase
  1. stop-hbase.sh
复制代码


然后
  1. start-hbase.sh
复制代码
问题解决。这里也找了其他解决办法,作为一个整理。




2.解决方法2:格式化namenode
2节点的datanode 日志信息中:
Incompatible namespaceIDs in /home/hadoop/tmp/dfs/data: namenode namespaceID = 1780037790
1节点的namenode日志信息::java.io.IOException: File /home/hadoop/tmp/mapred/system/jobtracker.info could only be replicated to 0 nodes, instead of 1
将namenode的信息删除,重新格式化
重新启动,hbase正常



已有(11)人评论

跳转到指定楼层
buildhappy 发表于 2014-10-9 17:03:13
你好,我安装的是hbase-0.98.5-hadoop1
现在HMaster已经正常启动,但是zookeeper没有安装,Linux下jps也没有zookeeper的进程
我用eclipse链接HBase是一直出现如下错误:
WARN zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException:  Connection refused: no further information
        at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
        at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:716)
        at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
        at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081)
请问是什么原因啊?
难道要安装zookeeper后,才能用eclipse链接HBase吗?
谢谢
回复

使用道具 举报

desehawk 发表于 2014-10-9 17:12:32
hbase与zookeeper是不可分割的,先安装zookeeper。
程序可以参考:
hbase开发环境搭建及运行hbase小实例(HBase 0.98.3新api)

hbase编程:Eclipse远程连接创建hbase表以及填充列与列数据
回复

使用道具 举报

howtodown 发表于 2014-10-9 18:42:13
buildhappy 发表于 2014-10-9 17:03
你好,我安装的是hbase-0.98.5-hadoop1
现在HMaster已经正常启动,但是zookeeper没有安装,Linux下jps也没 ...
hbase的一些信息存储在zookeeper中,特别是最新的版本依赖更强。
hbase学习(一):系统架构图



 Zookeeper:
  Zookeeper Quorum存储-ROOT-表地址、HMaster地址
  HRegionServer把自己以Ephedral方式注册到Zookeeper中,HMaster随时感知各个HRegionServer的健康状况
  Zookeeper避免HMaster单点问题
回复

使用道具 举报

buildhappy 发表于 2014-10-9 19:04:06
howtodown 发表于 2014-10-9 18:42
hbase的一些信息存储在zookeeper中,特别是最新的版本依赖更强。
hbase学习(一):系统架构图

这个帖子我看过
我有一点不懂就是安装HBase的时候会默认安装zookeeper吗?
我的集群现在启动了HQuorumPeer进程,但是没有HQuorumPeerMain进程,是不是环境搭建的有问题啊?
谢谢
回复

使用道具 举报

bioger_hit 发表于 2014-10-9 19:09:17
没有HQuorumPeerMain正常。参考:hbase 0.96整合到hadoop2.2三个节点全分布式安装高可靠文档


可以使用jps查看进程:在master上:
在slave1,slave2(slave节点)上








回复

使用道具 举报

bioger_hit 发表于 2014-10-9 19:19:23
buildhappy 发表于 2014-10-9 17:03
你好,我安装的是hbase-0.98.5-hadoop1
现在HMaster已经正常启动,但是zookeeper没有安装,Linux下jps也没 ...
你已经安装了,不过是内置的,没有问题的,能够操作hbase.
回复

使用道具 举报

buildhappy 发表于 2014-10-9 20:44:58
bioger_hit 发表于 2014-10-9 19:19
你已经安装了,不过是内置的,没有问题的,能够操作hbase.

我现在只启用了两个节点但是我的MASTER节点上有HQuorumPee进程r而slave节点上没有该进程。
是什么原因啊?难道zookeeper只能管理奇数个节点吗?
回复

使用道具 举报

bioger_hit 发表于 2014-10-9 20:53:48
buildhappy 发表于 2014-10-9 20:44
我现在只启用了两个节点但是我的MASTER节点上有HQuorumPee进程r而slave节点上没有该进程。
是什么原因啊 ...
说明配置问题,每个节点上都会有进程的
回复

使用道具 举报

pengsuyun 发表于 2014-12-30 09:00:45
收藏了,刚好解决了我的问题,谢谢!
回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条