thrift服务器由于“RetriesHaustedException”而崩溃

w46czmvw  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(452)

当运行thrift(/usr/hdp/2.3.0.0-2557/hbase/bin/hbase-daemon.sh start thrift)时,它每隔一段时间就会停止工作。在日志中我可以看到异常:

2015-11-12 11:56:11,926 WARN [thrift-worker-3] thrift.ThriftServerRunner$HBaseHandler: Can't get the location 
org.apache.hadoop.hbase.client.RetriesExhaustedException: Can't get the location 
 at org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.getRegionLocations(RpcRetryingCallerWithReadReplicas.java:309)
 at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:153) 
 at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:61) 
 at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:200) 
 at org.apache.hadoop.hbase.client.ClientScanner.call(ClientScanner.java:320) 
 at org.apache.hadoop.hbase.client.ClientScanner.nextScanner(ClientScanner.java:295) 
 at org.apache.hadoop.hbase.client.ClientScanner.initializeScannerInConstruction(ClientScanner.java:160) 
 at org.apache.hadoop.hbase.client.ClientScanner.<init>(ClientScanner.java:155) 
 at org.apache.hadoop.hbase.client.HTable.getScanner(HTable.java:811) 
 at org.apache.hadoop.hbase.thrift.ThriftServerRunner$HBaseHandler.scannerOpenWithScan(ThriftServerRunner.java:1451) 
 at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source) 
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
 at java.lang.reflect.Method.invoke(Method.java:497) 
 at org.apache.hadoop.hbase.thrift.HbaseHandlerMetricsProxy.invoke(HbaseHandlerMetricsProxy.java:67) 
 at com.sun.proxy.$Proxy11.scannerOpenWithScan(Unknown Source) 
 at org.apache.hadoop.hbase.thrift.generated.Hbase$Processor$scannerOpenWithScan.getResult(Hbase.java:4609) 
 at org.apache.hadoop.hbase.thrift.generated.Hbase$Processor$scannerOpenWithScan.getResult(Hbase.java:4593) 
 at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) 
 at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) 
 at org.apache.hadoop.hbase.thrift.TBoundedThreadPoolServer$ClientConnnection.run(TBoundedThreadPoolServer.java:289) 
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
 at java.lang.Thread.run(Thread.java:745) 
Caused by: java.io.IOException: hconnection-0x20ae27f0 closed 
 at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1146) 
 at org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.getRegionLocations(RpcRetryingCallerWithReadReplicas.java:300)
 ... 22 more

最后我重新开始节俭,让它再次发挥作用。我已尝试实施以下在此处找到的解决方法,但仍然失败:

<property>
<name>hbase.thrift.connection.max-idletime</name>
<value>1800000</value>
</property>

我们使用的是hortonworks/hbase 1.1.1.2.3.0.0-2557中的hdp2.3.0堆栈

0pizxfdo

0pizxfdo1#

这是hbase的一个持续问题。关于这个问题有两个不同的问题单:hbase-14533和hbase-14196。两个票证都提供了解决问题的修补程序。
关于pankaj kumar于19年1月发表的评论,如果您合并这两个修补程序,问题可以得到解决。也许这对你也有帮助。

相关问题