2012-02-23 100 views
1

我試圖使用java api連接到hbase集羣。 在嘗試連接到羣集節點後,api連接到動物園管理員。但是這次失敗並出現此錯誤:無法從Hbase java api客戶端訪問Hbase節點

INFO ipc.HBaseRPC: Server at <server-name>/<ip>:60020 could not be reached after 1 tries, giving up. 

節點中的端口由於由hbase默認打開而打開。 我正在使用hbase的默認設置。 該節點設置爲區域服務器。 我已經嘗試使用hbase的獨立配置,並且工作的區別是api在連接zookeeper之後連接的端口不一樣。

+0

我不確定這是否有幫助,但如果您使用獨立的方式連接到區域服務器?它不應該是主人嗎?你能夠連接到本地機器上的hbase shell嗎? – Lostsoul 2012-02-23 13:53:49

+1

通過在主機文件中使用完全限定的域名(FQDN)並使用名稱節點的FQDN作爲hbase-site.xml中的zookeeper仲裁主機來解決此問題。 – Mihai 2012-02-27 08:15:21

回答

1

我在使用cloudera Manager配置cluser時遇到了同樣的問題。

解決方法是:從/etc/hosts文件中刪除127.0.0.1條目。

+0

不起作用............... – Tucker 2012-09-10 16:49:21

0

如果要連接到遠程HBase羣集,請確保將羣集主機名和ip的全部添加到本地主機文件(Linux上的/ etc/hosts或C:\ Windows \ System32 \ drivers \ etc \在Windows主機上),如下面的例子:

192.168.150.101 vm01.domain.com

192.168.150.102 vm02.domain.com

192.168.150.103 vm03.domain.com

192 .168.150.104 vm04.domain.com

顯然Zookeper在嘗試連接到HBase時使用主機名而不是ip地址,並且在與Java遠程連接時可能會出現問題。

希望它有幫助!