[已解决]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

相关文章
相关标签/搜索