1
我用這個TTL創建表:HBase的區域請求不能平衡
create "aos:for_test", {NAME => "data", COMPRESSION => "LZO"}, {NUMREGIONS => 240, SPLITALGO => "UniformSplit"}
並導入大數據文件(14G附近)表。即使有240米的區域爲表,客戶端報錯像如下:
Error: org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException: Failed 1822 actions: RegionTooBusyException: 1822 times
我檢查HBase的WebUI和發現所有的請求都只投中一個區。我無法弄清楚爲什麼寫請求對所有區域都不平衡。
但是,如果我改變這樣的TTL:
create "aos:for_test", {NAME => "data", COMPRESSION => "LZO"}, {SPLITS => ['00000','00001','00002','00003','00004','00005','00006','00007','00008','00009','00009p','00009q','00009r','00009s']}
一切工作。
什麼是配置區域拆分策略?如果它是ConstantSizeRegionSplitPolicy,那麼所有的請求都會到達相同的區域,直到達到閾值大小。 – Ramana
我沒有配置策略。我不知道什麼是默認值。來自HBase 0.94+的 –
,默認區域溢出策略是IncreasingToUpperBoundRegionSplitPolicy。請驗證hbase-site.xml中的hbase.hregion.max.filesize屬性值。有關更多詳細信息,請參閱http://hortonworks.com/blog/apache-hbase-region-splitting-and-merging/ – Ramana