首页 > 解决方案 > org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:157)

问题描述

我有 flink 应用程序,它可以将数据读取和写入 Hbase。每个事件都会读取和写入 Hbase。结果对 hbase table 的调用太多。当负载很高时,see lag 得到构建,并且日志显示以下异常。我应该使用哪些参数来避免 Hbase 上的此类异常

org.apache.hadoop.hbase.client.RetriesExhaustedException:尝试=3 后失败,异常:2021 年 5 月 17 日星期一 03:28:41 CDT 2021,RpcRetryingCaller{globalStartTime=1621240111355,pause=1000,retries=3},java.io。 IOException:调用 XXXXXXXXXX1:16020 在本地异常上失败:org.apache.hadoop.hbase.ipc.CallTimeoutException:调用 id=23,waitTime=10001,operationTimeout=10000 已过期。2021 年 5 月 17 日星期一 03:28:52 CDT,RpcRetryingCaller{globalStartTime=1621240111355,pause=1000,重试=3},java.io.IOException:调用 XXXXXXXXX:16020 因本地异常失败:org.apache.hadoop.hbase。 ipc.CallTimeoutException:呼叫 id=25,waitTime=10002,operationTimeout=10000 已过期。2021 年 5 月 17 日星期一 03:29:04 CDT,RpcRetryingCaller{globalStartTime=1621240111355,pause=1000,重试=3},java.io.IOException:调用 XXXXXXXX:16020 本地异常失败:org.apache.hadoop。

at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:157)
at org.apache.hadoop.hbase.client.HTable.get(HTable.java:865)
at org.apache.hadoop.hbase.client.HTable.get(HTable.java:831)
at XXXXXXXXX    org.apache.flink.streaming.api.operators.KeyedProcessOperator.processElement(KeyedProcessOperator.java:85)
at org.apache.flink.streaming.runtime.tasks.OneInputStreamTask$StreamTaskNetworkOutput.emitRecord(OneInputStreamTask.java:161)
at org.apache.flink.streaming.runtime.io.StreamTaskNetworkInput.processElement(StreamTaskNetworkInput.java:178)
at org.apache.flink.streaming.runtime.io.StreamTaskNetworkInput.emitNext(StreamTaskNetworkInput.java:153)
at org.apache.flink.streaming.runtime.io.StreamOneInputProcessor.processInput(StreamOneInputProcessor.java:67)
at org.apache.flink.streaming.runtime.tasks.StreamTask.processInput(StreamTask.java:351)
at org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.runMailboxLoop(MailboxProcessor.java:185)
at org.apache.flink.streaming.runtime.tasks.StreamTask.runMailboxLoop(StreamTask.java:569)
at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:534)
at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:721)
at org.apache.flink.runtime.taskmanager.Task.run(Task.java:546)
at java.lang.Thread.run(Thread.java:748)

原因:java.io.IOException:调用 brdn6328.target.com/10.66.223.21:16020 在本地异常上失败:org.apache.hadoop.hbase.ipc.CallTimeoutException:调用 id=27,waitTime=10001,operationTimeout= 10000 已过期。在 org.apache.hadoop.hbase.ipc.AbstractRpcClient.wrapException(AbstractRpcClient.java:292) 在 org.apache.hadoop.hbase.ipc.RpcClientImpl.call(RpcClientImpl.java:1271) 在 org.apache.hadoop.hbase .ipc.AbstractRpcClient.callBlockingMethod(AbstractRpcClient.java:227) 在 org.apache.hadoop.hbase.ipc.AbstractRpcClient$BlockingRpcChannelImplementation.callBlockingMethod(AbstractRpcClient.java:336) 在 org.apache.hadoop.hbase.protobuf.generated.ClientProtos $ClientService$BlockingStub.get(ClientProtos.java:34070) at org.apache.hadoop.hbase.client.HTable$3.call(HTable.java:857) at org.apache.hadoop.hbase.client.HTable$3.call (HTable.java:848) 在 org. apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:136) ... 19 更多原因:org.apache.hadoop.hbase.ipc.CallTimeoutException: Call id=27, waitTime=10001, operationTimeout=10000已到期。在 org.apache.hadoop.hbase.ipc.Call.checkAndSetTimeout(Call.java:73) 在 org.apache.hadoop.hbase.ipc.RpcClientImpl.call(RpcClientImpl.java:1245) ... 还有 25 个

标签: hbase

解决方案


推荐阅读