将hbase客户端从0.98升级到1.1时发生tablenotfoundexception

tvmytwxo  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(385)

我刚刚从版本0.98升级到hortonworks hbase client 1.1.2.2.4.2.0-258。所有工作在本地都很好,但在生产负载下几分钟后,我开始有tablenotfoundexception:

Caused by: org.apache.hadoop.hbase.TableNotFoundException
at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegionInMeta(ConnectionManager.java:1264)
at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1162)
at org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.getRegionLocations(RpcRetryingCallerWithReadReplicas.java:300)
at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:152)
at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:60)
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:821)

这种行为似乎是随机的和不可预测的,例如,重复相同的请求只会起作用(即没有引发异常,并且成功地检索到数据)
我试图理解从0.98到1.1的变化,我发现唯一有意义的是https://issues.apache.org/jira/browse/hbase-16973
玩弄这些价值观也无济于事。
还有什么我应该考虑的吗?非常感谢您的指点!
谢谢!

xsuvu9jc

xsuvu9jc1#

问题在于我们如何使用hconnection对象,有几个示例(我同意,这不是正确的使用方法,iiuc)。在新版本的hbase客户机中,每个hconnection还有几个用于元查找的“hconnection”线程。所有这些累积起来导致jvm无法处理的线程数量非常多。在使用一个hconnection示例之后,问题就消失了,一切都按预期工作。

相关问题