gpt4 book ai didi

hbase - 对 HBase 表进行批量放置时出现 RejectedExecutionException

转载 作者:行者123 更新时间:2023-12-05 00:37:13 25 4
gpt4 key购买 nike

我正在尝试将行批量放入 HBase(0.90.0)中,大小约为 1000(行)我有多个生产者线程将数据写入队列,还有一个消费者线程每几分钟唤醒一次,并写入所有内容在队列中作为批处理到 HBase。但是,我收到以下异常,我不确定这意味着什么。

Caused by: java.util.concurrent.RejectedExecutionException
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:1760)
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:767)
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:658)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:92)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.processBatch(HConnectionManager.java:1135)

任何帮助是极大的赞赏!

最佳答案

如果可以,请避免这样做 Put或对已被 close() 的 HTable 进行其他操作过去。

通常没有强烈的理由去做 htable.close()在你的代码中间,一个 htable.flushCommits()可能就够了。尝试预订 htable.close()作为最后一步,当您的代码不再使用 HBase 时。

此 Jira 更深入地了解了有关此错误的详细信息:https://issues.apache.org/jira/browse/HBASE-3692

所以检查你的代码,搜索对 close() 的调用并删除它们或将其替换为 flushCommits()如果你需要。我遇到了和你一样的问题,并删除了不必要的 htable.close()调用就足以避免这个问题。

关于hbase - 对 HBase 表进行批量放置时出现 RejectedExecutionException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7183038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com