将列族压缩设置为GZ

时间:2016-09-25 20:39:09

标签: hadoop hbase yarn

我正在使用以下命令在AWS emr实例上创建一个带有GZ压缩的列系列的Hbase表,其中包含1个主服务器和29个从服务器

   create 'aaa_gz', {NAME=> 'd', COMPRESSION => 'gz'}, {NUMREGIONS => 28, SPLITALGO => 'HexStringSplit'}

当我尝试使用以下命令从s3导入数据时

    /usr/bin/hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns="HBASE_ROW_KEY, d:m, d:g, d:r, d:f, d:a" aaa_gz s3://bucket/prefix

我被RegionTooBusyExceptions淹没,MR作业最终失败

Error: org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException: Failed 188 actions: RegionTooBusyException: 188 times, 
at org.apache.hadoop.hbase.client.AsyncProcess$BatchErrors.makeException(AsyncProcess.java:247)
at org.apache.hadoop.hbase.client.AsyncProcess$BatchErrors.access$1800(AsyncProcess.java:227)
at org.apache.hadoop.hbase.client.AsyncProcess.waitForAllPreviousOpsAndReset(AsyncProcess.java:1765)
at org.apache.hadoop.hbase.client.BufferedMutatorImpl.backgroundFlushCommits(BufferedMutatorImpl.java:240)

然而,当我删除压缩选项时,一切正常

我尝试将来自IncreaseToUpperBoundRegionSplitPolicy的hbase.regionserver.region.split.policy更改为ConstantSizeRegionSplitPolicy,并将split algo更改为UniformSplit。我也尝试将numregions增加到一个很大的数量。但它没有帮助

我注意到当compression选项设置为gz时,所有请求都会转到很少的区域。压缩与其他三个压缩选项(lzo,lz4和snappy)一起工作正常

请让我知道我应该怎么做才能克服这个错误

0 个答案:

没有答案