FusionInsight HD 客户端hosts文件配置不当导致hbase建表失败

发布时间:  2017-05-20 浏览次数:  601 下载次数:  0
问题描述
在hbase客户端跑样例代码发现创建表操作报错,报错如下
2017-04-28 18:39:40,667 ERROR [main] example.HBaseSample: Create table failed.
java.io.IOException: Failed to get result within timeout, timeout=60000ms
at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:216)
at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:62)
at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:217)
at org.apache.hadoop.hbase.client.ClientScanner.call(ClientScanner.java:329)
at org.apache.hadoop.hbase.client.ClientScanner.nextScanner(ClientScanner.java:304)
at org.apache.hadoop.hbase.client.ClientScanner.initializeScannerInConstruction(ClientScanner.java:166)
at org.apache.hadoop.hbase.client.ClientScanner.<init>(ClientScanner.java:161)
at org.apache.hadoop.hbase.client.HTable.getScanner(HTable.java:796)
at org.apache.hadoop.hbase.MetaTableAccessor.fullScan(MetaTableAccessor.java:603)
at org.apache.hadoop.hbase.MetaTableAccessor.tableExists(MetaTableAccessor.java:367)
at org.apache.hadoop.hbase.client.HBaseAdmin.tableExists(HBaseAdmin.java:329)
at com.huawei.hadoop.hbase.example.HBaseSample.testCreateTable(HBaseSample.java:128)
at com.huawei.hadoop.hbase.example.HBaseSample.test(HBaseSample.java:67)
at com.huawei.hadoop.hbase.example.TestMain.main(TestMain.java:41)
2017-04-28 18:39:40,668 INFO  [main] example.HBaseSample: Exiting testCreateTable.
2017-04-28 18:39:40,668 INFO  [main] example.HBaseSample: Entering testPut.
2017-04-28 18:39:40,795 INFO  [hconnection-0x639ba7aa-shared--pool1-t1] client.RpcRetryingCaller: Call exception, tries=11, retries=35, started=61130 ms ago, cancelled=true, msg=host6 row 'hbase_sample_table1,,' on table 'hbase:meta' at region=hbase:meta,,1.1588230740, hostname=host6,21302,1493215578030, seqNum=0

处理过程
1.检查客户端hosts文件只添加了hmaster节点的解析,其他节点未添加。
2.查看产品文档,准备开发环境章节,有如下要求

将服务端主机名与IP映射关系添加到客户端的hosts文件中,即将服务端的IP和hostname添加到windows客户端,使客户端找到对应的机器进行访问。

 说明:

本地hosts文件存放路径举例:

windows:“C:\WINDOWS\system32\drivers\etc\hosts”

例如,集群各机器的IP为10.120.173.202,10.120.177.88,10.120.178.187,各主机名分别为vm-202、vm-88、vm-187。

则需要在“hosts”文件中追加以下内容:

10.120.173.202 vm-202
10.120.177.88 vm-88
10.120.178.187 vm-187

3 参考文档添加所有集群节点的解析
解决方案

hosts文件中未添加各节点主机名与IP地址对应关系,添加后正常。

END