1. 程式人生 > 其它 >hbase RegionTooBusyException報錯異常處理

hbase RegionTooBusyException報錯異常處理

// 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狀態影響

因此如果配置引數依然無法解決,看任務型別,可以把任務拆成不同的小粒度任務,分別執行