janusgraph连接hbase出错hadoop.hbase.client.RetriesExhaustedException: Can't get the locations

  • 问题:

Janusgraph 连接hbase 失败

graph=JanusGraphFactory.open('conf/janusgraph-hbase-es.properties')

 

  • 错误信息:

Caused by: org.janusgraph.diskstorage.TemporaryBackendException: Temporary failure in storage backend

         at org.janusgraph.diskstorage.hbase.HBaseStoreManager.ensureTableExists(HBaseStoreManager.java:746)

         at org.janusgraph.diskstorage.hbase.HBaseStoreManager.getLocalKeyPartition(HBaseStoreManager.java:535)

         at org.janusgraph.diskstorage.hbase.HBaseStoreManager.getDeployment(HBaseStoreManager.java:374)

         ... 54 more

Caused by: org.apache.hadoop.hbase.client.RetriesExhaustedException: Can't get the locations

         at org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.getRegionLocations(RpcRetryingCallerWithReadReplicas.java:319)

         at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:156)

         at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:60)

         at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:210)

         at org.apache.hadoop.hbase.client.ClientScanner.call(ClientScanner.java:327)

         at org.apache.hadoop.hbase.client.ClientScanner.nextScanner(ClientScanner.java:302)

         at org.apache.hadoop.hbase.client.ClientScanner.initializeScannerInConstruction(ClientScanner.java:167)

         at org.apache.hadoop.hbase.client.ClientScanner.(ClientScanner.java:162)

         at org.apache.hadoop.hbase.client.HTable.getScanner(HTable.java:797)

         at org.apache.hadoop.hbase.MetaTableAccessor.fullScan(MetaTableAccessor.java:602)

         at org.apache.hadoop.hbase.MetaTableAccessor.tableExists(MetaTableAccessor.java:366)

         at org.apache.hadoop.hbase.client.HBaseAdmin.tableExists(HBaseAdmin.java:406)

         at org.janusgraph.diskstorage.hbase.HBaseAdmin1_0.tableExists(HBaseAdmin1_0.java:111)

  • 问题原因

将The baseZnode of "/hbase-unsecure " 改为 /hbase

具体:在ambari管理的HBASE config --- Advanced hbase-site --- ZooKeeper Znode Parent

这一项的值改为/hbase。(原始值为/hbase-unsecure)

  • 解决后启动

janusgraph连接hbase出错hadoop.hbase.client.RetriesExhaustedException: Can't get the locations_第1张图片

  • 排查过程
  1. hbase默认端口修改

将hbase的端口修改为默认的60000、60010、60020、60030后。依然报上述错误信息。

结论:与端口无关

  1. HBase Regionserver节点部署Zookeeper服务

在master.hadoop.com,node1.hadoop.com,node2.hadoop.com中分别查看是否启动Zookeepr服务。重新启动服务,依然报上述错误。

结论:与zookeeper节点无关(当然zookeeper服务必须启动)

  1. 时间同步(网上说可能和时间同步)

系统时间和本地时间同步后,依然报上述错误。

结论:与时间同步无关。

  • 连接前提

janusgraph的hbase配置文件中storage.hostname进行确认,此处的值需和hbase.zookeeper.quorum(在hbase的Advanced hbase-site中找)的值一致。

你可能感兴趣的:(janusgraph连接hbase出错hadoop.hbase.client.RetriesExhaustedException: Can't get the locations)