hbase RegionTooBusyException報錯異常處理
阿新 • • 發佈:2021-06-21
// 21/04/23 17:47:51 WARN AsyncProcess: #43, table=ns:table_test, attempt=1/1 failed=108ops, last exception: org.apache.hadoop.hbase.RegionTooBusyException: org.apache.hadoop.hbase.RegionTooBu //syException: Above memstore limit, regionName=ns:table_test,08888888,1619170961003.a4abed7f398cd9b85062c800e95c6dac., server=ns:table_test, memstoreSize=542273360, block //ingMemStoreSize=536870912
原因見其他部落格說明,服務端不好更改,客戶端的解決方式說到底就是加大和超時等待時間和重試次數,和提交間隔(檔案分批個數)
原始引數
conf.addResource(new Path("/etc/hbase/conf/core-site.xml"))
conf.addResource(new Path("/etc/hbase/conf/hbase-site.xml"))
新增引數-解決
conf.set("hbase.hregion.memstore.block.multiplier","100") conf.set("hbase.hstore.blockingWaitTime","600s") conf.set("hbase.ipc.client.call.purge.timeout","300000") conf.set("hbase.rpc.timeout","300000") conf.set("hbase.hstore.compaction.max","1000") conf.set("hbase.client.retries.number","30") conf.set("hbase.client.pause","12000") conf.set("zookeeper.recovery.retry","12")
該錯誤常見於大量的hbase寫入場景,無法只通過客戶端的調整避免,也受hbase狀態影響
因此如果配置引數依然無法解決,看任務型別,可以把任務拆成不同的小粒度任務,分別執行