Gid*_*eon 4 hbase asynchronous apache-zookeeper
我有一个异步应用程序,它使用async-hbase-client将数据保存到 HBase 。
我的 HBase 版本是:1.0.0-cdh5.6.0 我的异步 HBase 客户端版本是:0.9.0
应用程序运行了一段时间(约 4 或 5 天),但在周末开始失败,出现以下异常:
org.apache.hadoop.hbase.NotServingRegionException: Region pageviews,,1463568860289.298bb29bbd148a0a62ec90885ef8d027. is not online on //some address here
at org.apache.hadoop.hbase.regionserver.HRegionServer.getRegionByEncodedName(HRegionServer.java:2786)
at org.apache.hadoop.hbase.regionserver.RSRpcServices.getRegion(RSRpcServices.java:922)
at org.apache.hadoop.hbase.regionserver.RSRpcServices.mutate(RSRpcServices.java:1965)
at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32203)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2034)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:107)
at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130)
at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107)
at java.lang.Thread.run(Thread.java:745)
Run Code Online (Sandbox Code Playgroud)
我做了什么:
./hbase zkcli然后运行来登录zookeeper shell :rmr /hbase/root-region-server- 我根据这个链接做了这个:http : //rogueleaderr.com/post/32963921889/hbase-error-region-is-not-online-root-0。这对以下错误不起作用:Node does not exist: /hbase/root-region-server. 我尝试解决此问题并遇到此解决方案建议:HBase: /hbase/meta-region-server node does not exist。所以我跑了:rmr /hbase/meta-region-server它没有做任何事情(至少它没有写任何东西)如果有人对这里的问题究竟是什么有任何想法,我将不胜感激。目前我在这里有点不知所措
谢谢
似乎一个特定的表及其区域已损坏(您可以按照您的描述从 hbase shell 访问其他表),请在特定的表名上尝试使用hbase hbck这可能会解决此问题
其他选项: 您可以通过增加打开区域所需的线程数来解决此问题,以便即使本地索引表的线程仍在等待消除死锁,也可以分配元区域。
<property> <name>hbase.regionserver.executor.openregion.threads</name> <value>100</value> </property>
Run Code Online (Sandbox Code Playgroud)