HBase unknown host异常问题解决方法
来源:互联网 发布:手机淘宝账号注册 编辑:程序博客网 时间:2024/05/16 08:34
* HBase client 初始化连接流程
# 当使用HBase配置创建HTable对象时,最终会得到与RegionServer服务器的连接,使用该连接对RegionServer服务器上的数据操作
# Client先随机选择连接一台zookeeper建立连接,如果连接建立失败,重新获取与其它zookeeper的连接
# 从zookeeper服务查询region-server主机名,zookeeper会根据RegionServer的负载、状态情况返回一台可用的RegionServer
# Client端使用该主机名与RegionServer建立连接,如果连接失败,会进行重试,直接到超过重试次数或连接建立成功
Master服务启动时,会使用RegionServer的ip反向获取hostname,缓存到内存中,当client从zookeeper查询RegionServer时,会把hostname返回给client。
这里存在一个问题,如果返回的hostname在client端无法解析,client会抛unknown host异常,导致最后一步连接失败。
问题原因,在hbase-site.xml里配置了hbase.master.dns.interface,又在hosts里配置RegionServer ip对应的主机名与dns对应的主机名不致造成。
解决办法是让dns或hosts配置文件中只保留一处RegionServer ip对应的主机名的配置,删掉Master节点中hosts中配置即可
<pre>
java.net.UnknownHostException: unknown host: hbase-node1
at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.<init>(HBaseClient.java:302)
at org.apache.hadoop.hbase.ipc.HBaseClient.createConnection(HBaseClient.java:281)
at org.apache.hadoop.hbase.ipc.HBaseClient.getConnection(HBaseClient.java:1137)
at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:1000)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:150)
at $Proxy4.getProtocolVersion(Unknown Source)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine.getProxy(WritableRpcEngine.java:183)
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:335)
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:312)
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:364)
at org.apache.hadoop.hbase.ipc.HBaseRPC.waitForProxy(HBaseRPC.java:236)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1309)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1265)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1252)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:961)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:856)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:958)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:860)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:817)
at org.apache.hadoop.hbase.client.HTable.finishSetup(HTable.java:234)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:174)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:133)
</pre>
# 当使用HBase配置创建HTable对象时,最终会得到与RegionServer服务器的连接,使用该连接对RegionServer服务器上的数据操作
# Client先随机选择连接一台zookeeper建立连接,如果连接建立失败,重新获取与其它zookeeper的连接
# 从zookeeper服务查询region-server主机名,zookeeper会根据RegionServer的负载、状态情况返回一台可用的RegionServer
# Client端使用该主机名与RegionServer建立连接,如果连接失败,会进行重试,直接到超过重试次数或连接建立成功
Master服务启动时,会使用RegionServer的ip反向获取hostname,缓存到内存中,当client从zookeeper查询RegionServer时,会把hostname返回给client。
这里存在一个问题,如果返回的hostname在client端无法解析,client会抛unknown host异常,导致最后一步连接失败。
问题原因,在hbase-site.xml里配置了hbase.master.dns.interface,又在hosts里配置RegionServer ip对应的主机名与dns对应的主机名不致造成。
解决办法是让dns或hosts配置文件中只保留一处RegionServer ip对应的主机名的配置,删掉Master节点中hosts中配置即可
需要注意的是hbase-site.xml配置dns.interface时,/etc/hosts配置文件应该与dns保持一致
<pre>
java.net.UnknownHostException: unknown host: hbase-node1
at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.<init>(HBaseClient.java:302)
at org.apache.hadoop.hbase.ipc.HBaseClient.createConnection(HBaseClient.java:281)
at org.apache.hadoop.hbase.ipc.HBaseClient.getConnection(HBaseClient.java:1137)
at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:1000)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:150)
at $Proxy4.getProtocolVersion(Unknown Source)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine.getProxy(WritableRpcEngine.java:183)
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:335)
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:312)
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:364)
at org.apache.hadoop.hbase.ipc.HBaseRPC.waitForProxy(HBaseRPC.java:236)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1309)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1265)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1252)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:961)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:856)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:958)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:860)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:817)
at org.apache.hadoop.hbase.client.HTable.finishSetup(HTable.java:234)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:174)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:133)
</pre>
- HBase unknown host异常问题解决方法
- HBase开发错误:java.net.UnknownHostException: unknown host:
- centos 6.7 ping: unknown host外网ping不通问题解决
- ping百度(外网)出现:unknown host www.baidu.com问题解决
- web em "数据库错误 Io 异常: Unknown host specified "
- Oracle10G控制台解决办法-Io 异常:Unknown host specified
- Oracle10G控制台解决办法-Io 异常:Unknown host specified
- 登陆Oracle10g控制台时显示“Io 异常:Unknown host specified”
- Oracle 10g 出现Io 异常:Unknown host specified
- Win7-64位 安装oracle10g 出现异常:Unknown host specified
- ORACLE EM报错:出现Io 异常:Unknown host specified
- Oracle10G控制台解决办法-Io 异常:Unknown host specified;
- java.net.UnknownHostException: unknown host:xxxx异常解决办法
- vi Unknown terminal type 的问题解决方法
- hibernate 报 Unknown entity错误,问题解决方法
- Hbase异常 java.net.NoRouteToHostException: No route to host
- HBase开发错误记录(一):java.net.UnknownHostException: unknown host: master
- android studio更新2.0后出现的Gradle sync failed: Unknown host等gradle问题解决办法
- 清理C#代码中的空行
- perl 简单语法积累
- 程序员学习能力提升三要素
- linux内核网络,数据发送流程图
- 手机铃声制作
- HBase unknown host异常问题解决方法
- 设置默认 alt+/
- linux 内核网络,数据接收流程图
- ORA-14452错误及解決方法
- [灌水]2012年,软件开发者薪资大调查
- iOS 6.x完美越狱工具evasiOn官网正式上线
- iOS coreplot 画图 入门
- EXCEL函数大全
- ora DBLink.