错误:org.apache.hadoop.hbase.NotServingRegionException

问题描述

我构建了一个 Java Spark (2.4.5) 应用程序。我使用 Hbase (2.2.4) 作为数据库。 我的应用程序使用 40K 条目的小数据成功运行,但是当我尝试在较大数据(数百万条目)上运行我的应用程序时,我收到以下错误

2021-03-08T12:10:47.989Z,RpcretryingCaller{globalStartTime=1615205447880,暂停=100, maxAttempts=2},org.apache.hadoop.hbase.NotServingRegionException: org.apache.hadoop.hbase.NotServingRegionException: 我的表,1615204458781.aafa9cb897f826c8b6e2d43ff40e1051。不是 在线 ip-10-0-0-211.eu-west-1.compute.internal,16020,1613637437283 在 org.apache.hadoop.hbase.regionserver.HRegionServer.getRegionByEncodedname(HRegionServer.java:3387) 在 org.apache.hadoop.hbase.regionserver.HRegionServer.getRegion(HRegionServer.java:3364) 在 org.apache.hadoop.hbase.regionserver.RSRpcServices.getRegion(RSRpcServices.java:1467) 在 org.apache.hadoop.hbase.regionserver.RSRpcServices.mutate(RSRpcServices.java:2869) 在 org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:42276) 在 org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:418) 在 org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:133) 在 org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:338) 在 org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:318)

在 org.apache.hadoop.hbase.client.RpcretryingCallerImpl.callWithRetries(RpcretryingCallerImpl.java:145) 在 org.apache.hadoop.hbase.client.HTable.put(HTable.java:540)

我知道一旦达到某个阈值,Hbase 会将表拆分为区域,似乎在表拆分为区域后,对某些值的操作不成功,因为这些值位于其他区域。

我该如何解决这个问题?

  • 我的应用程序在 AWS EMR 上运行,一个主节点和 2 个执行器。我的机器上安装了 Spark、Hbase 和 Zookeeper。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)