JAVA apiリモートhbaseエラーorg.apache.hadoop.hbase.client.RetriesExhaustedException


  • JAVA apiリモートhbaseエラーorg.apache.haadoop.hbase.client.RetriesExhaustedException:Failed after attempts=36,exceptions:Tue Jul 19 16:36:05 CST 2016,null,java.net.SocketTimeoutException:callTimeout=60000,callDuration=79721:row'testtable,'on table'on table'hbase:meta'at region=hbase:meta:meta、 hostname=ubuntu,16020,1468916750524, seqNum=0
  • windows 10 idea下Java APIリモートhbase、hbaseは仮想環境下にインストールされ、NATネットワークモードを採用し、hbase IPアドレスは192.168.137.25である.Windows 10 vmnet 8 IPは192.168.137.1で双方ともping通が可能で、ネットワークの問題を排除します.
  • まず位置決めエラーの原因:Caused by: java.net.UnknownHostException: ubuntu ubuntuホスト名を解析できません.ここでubuntuはhbaseが存在する仮想マシンのホスト名です.ubuntuホストに対応するIPアドレスが解析されず、(1)まずubuntuホスト下hosts情報gedit/etc/hosts 127.0.0.1 localhost 127.0.1.1 ubuntu
  • を表示する.
    The following lines are desirable for IPv 6 capable hosts(ここでは#コメント、エディタの都合で手動文字コメントに変更):1 ip 6-localhost ip 6-loopback fe00::0 ip 6-localnet ff 00:0 ip 6-mcastprefix ff 02::1 ip 6-allnodes ff 02::2 ip 6-allrouters
    (2)    java       :
    
         config = HBaseConfiguration.create();
    	 config.set("hbase.zookeeper.quorum", "192.168.137.25");
    	 config.set("hbase.zookeeper.property.clientPort", "2181");  
    	 config.set("hbase.master", "192.168.137.25:9001"); 
    
    ```(3)    ubuntu   IP   127.0.1.1 ,  192.168.137.25  ubuntu      127.0.1.1 ubuntu ```
    
    127.0.0.1localhost(   #  ,       ,        )
    127.0.1.1  ubuntu(   #  ,       ,        )
    
    192.168.13725  ubuntu
    
    ```(4)     windows10       C:\Windows\System32\drivers\etc\hosts,  ```
    
    ```192.168.137.25 ubuntu ```(           )
    
    **    **
    
      :hbase   192.168.137.25        ,      hosts    IP127.0.0.1,            。
    
  • org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=36, exceptions:
    Tue Jul 19 16:36:05 CST 2016, null, java.net.SocketTimeoutException: callTimeout=60000, callDuration=79721: row 'testtable,,' on table 'hbase:meta' at region=hbase:meta,,1.1588230740, hostname=ubuntu,16020,1468916750524, seqNum=0
    at org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.throwEnrichedException(RpcRetryingCallerWithReadReplicas.java:276)
    at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:207)
    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:326)
    at org.apache.hadoop.hbase.client.ClientScanner.nextScanner(ClientScanner.java:301)
    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: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 upc.hbase.utils.HbaseTable.createTable(HbaseTable.java:46)
    at upc.hbase.test.HbaseTestDemo.main(HbaseTestDemo.java:20)
    Caused by: java.net.SocketTimeoutException: callTimeout=60000, callDuration=79721: row 'testtable,,' on table 'hbase:meta' at region=hbase:meta,,1.1588230740, hostname=ubuntu,16020,1468916750524, seqNum=0
    at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:169)
    at org.apache.hadoop.hbase.client.ResultBoundedCompletionService$QueueingFuture.run(ResultBoundedCompletionService.java:65)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    ```Caused by: java.net.UnknownHostException: ubuntu```
    at org.apache.hadoop.hbase.ipc.AbstractRpcClient$BlockingRpcChannelImplementation.<init>(AbstractRpcClient.java:315)
    at org.apache.hadoop.hbase.ipc.AbstractRpcClient.createBlockingRpcChannel(AbstractRpcClient.java:267)
    at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.getClient(ConnectionManager.java:1639)
    at org.apache.hadoop.hbase.client.ScannerCallable.prepare(ScannerCallable.java:162)
    at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.prepare(ScannerCallableWithReplicas.java:372)
    at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:134)
    ... 4 more
    

    本文はcsdn文章から転載する:JAVA apiリモートhbaseエラーorg.apache.hadoop.hbase.client.RetriesExhaustedException