僞分佈式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