2011-11-16 93 views
3

我試圖在僞分佈式模式下運行HBase。我已經完成了本教程中的所有步驟。HBase綁定到不正確的地址

HBase的-site.xml中看起來是這樣的:

<configuration> 
     <property> 
       <name>hbase.rootdir</name> 
       <value>hdfs://localhost:9000/hbase</value> 
     </property> 
     <property> 
       <name>dfs.replication</name> 
       <value>1</value> 
     </property> 
</configuration> 

regionservers看起來像這樣(默認):

localhost 

在日誌中,動物園管理員開始OK,MiniZK開始OK,然後我得到一個BindException與這是罪魁禍首:

Caused by: java.net.BindException: Problem binding to /192.168.0.1:0 : Cannot assign requested address 

在世界上哪裏得到地址192.168.0.1?爲什麼它試圖綁定到端口0?該IP是我的NAT網關。它所在機器的IP地址是192.168.0.200

我查看過所有的配置文件,但沒有看到任何我要指定的地址。

任何幫助表示讚賞!提前致謝!

**更新**

它看起來像問題是HBase的試圖反向查找我的主機名,因爲我用我的路由器which--作爲DNS--解決,我的IP地址...我的路由器。

當我在/etc/hosts文件中添加一個「別名」到127.0.0.1時,它解決了。

@ arnon-rotem-gal-oz,我只是安裝了HBase tarball中的任何東西。我假設miniZK是Zookeeper的縮小版本?我沒有運行一個單獨的實例。

您發佈的代碼有訣竅解決下一個問題出現了。謝謝大家!

+0

在您的/ etc/hosts中是否有一些時髦的東西? –

+0

我認爲,太多,但: '127.0.0.1 \t \t的localhost.localdomain本地主機 :: 1 \t \t localhost6.localdomain6 localhost6' (對不起它搗碎together--並不讓我的標記) – aimzies

回答

0

檢查zookeeper配置文件(zookeeper/conf目錄中的zoo.cfg) 此外,爲什麼您同時擁有zookeeper和miniZK?

此外(與您的問題沒有直接關係),您需要告訴hbase哪裏可以找到動物園管理員,例如,將以下內容添加到您的hbase-site.xml中

<property> 
    <name>hbase.zookeeper.quorum</name> 
    <value>localhost</value> 
</property>