java调用Hbase报错解决方法
伪分布式hbase服务搭建
系统操作都很正常,也可以查询所有的表的列表,但是查询表的详情,调用的时候就会报错
java.net.connectexception: call to localhost/127.0.0.1:16020 failed on connection exception
从报错信息也能看出来,应该是master节点,查询表的名称应该是只读取了master信息,而表的具体信息就需要读取regionserver的信息了,master把regionserver的本地IP返回给远程java程序了,导致连接本地16020端口,这是肯定不对的
问题是这个问题,可是怎么解决呢?搜索无数资料,改了无数次hostname和防火墙配置,无效
最终查看hbase配置文件的时候,发现一个配置
<property>
<name>hbase.regionserver.hostname.disable.master.reversedns</name>
<value>true</value>
</property>默认是false,改成true,重启,发现regionServer名称变成了hadoop001而不是localhost了,本地测试,创建表成功
这个配置的意思就是master不要解析regionServer的ip,直接返回,跟hdfs的配置一样,不过又换了个名字。。。
以上就是java调用Hbase报错解决方法的详细内容,更多关于java调用Hbase报错的资料请关注脚本之家其它相关文章!
相关文章
Springboot如何利用拦截器拦截请求信息收集到日志详解
一些系统经常需要关注用户请求的具体信息,如用户信息、请求参数、响应结果等等,在SpringBoot应用中可通过拦截器的方式统一处理,下面这篇文章主要给大家介绍了关于Springboot如何利用拦截器拦截请求信息收集到日志的相关资料,需要的朋友可以参考下2021-08-08
基于SpringBoot应用监控Actuator安全隐患及解决方式
这篇文章主要介绍了SpringBoot应用监控Actuator安全隐患及解决方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-07-07


最新评论