[已解決]java調用 Hbase報錯

僞分佈式hbase服務搭建,系統操做都很正常,也能夠查詢全部的表的列表,可是查詢表的詳情,調用的時候就會報錯java

java.net.connectexception: call to localhost/127.0.0.1:16020 failed on connection exception

從報錯信息也能看出來,應該是master節點,查詢表的名稱應該是隻讀取了master信息,而表的具體信息就須要讀取regionserver的信息了,master把regionserver的本地IP返回給遠程java程序了,致使鏈接本地16020端口,這是確定不對的分佈式

問題是這個問題,但是怎麼解決呢?搜索無數資料,改了無數次hostname和防火牆配置,無效oop

最終查看hbase配置文件的時候,發現一個配置測試

<property>
        <name>hbase.regionserver.hostname.disable.master.reversedns</name>
        <value>true</value>
</property>

默認是false,改爲true,重啓,發現regionServer名稱變成了hadoop001而不是localhost了,本地測試,建立表成功.net

這個配置的意思就是master不要解析regionServer的ip,直接返回,跟hdfs的配置同樣,不過又換了個名字。。。code

黃天不負苦心人。。。。server

相關文章
相關標籤/搜索