2014-12-05 64 views
0

我們一再遇到zookeeper和hbase互通的問題。典型的錯誤是:Hbase無法從zookeeper獲取主機地址 - 即使zkcli顯示hbase目錄

hbase(main):001:0> list 
TABLE                             

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

我們已經檢查了使用HBase的zkcli ls命令在動物園管理員存在的節點:

[zk: localhost.localdomain:2181(CONNECTED) 1] ls /hbase 
[meta-region-server, backup-masters, table, draining, region-in-transition, table-lock, running, namespace, hbaseid, online-snapshot, replication, splitWAL, recovering-regions, rs] 

尤其讓我們看一下/ HBase的/ hbaseid:

[zk: localhost.localdomain:2181(CONNECTED) 5] ls /hbase/hbaseid 
[] 
cZxid = 0x89 
ctime = Mon May 12 01:42:49 PDT 2014 
mZxid = 0x11dc 
mtime = Tue Jul 01 17:51:13 PDT 2014 
pZxid = 0x89 
cversion = 0 
dataVersion = 5 
aclVersion = 0 
ephemeralOwner = 0x0 
dataLength = 67 
numChildren = 0 

從我對zookeeper/hbase交互的有限理解看起來很健康。但是有沒有znodes /功能需要檢查?任何其他診斷或修復方法提示將不勝感激。

回答

-2

停止zookeeper和hbase。 從zookeeper目錄中刪除所有內容。 再次啓動zookeeper和hbase。它會解決你的問題。