gpt4 book ai didi

hadoop - 使用 hbase.hregion.max.filesize 自动分割 HBase 区域

转载 作者:可可西里 更新时间:2023-11-01 14:16:32 25 4
gpt4 key购买 nike

我正在使用 HBase 的 cloudera 发行版 (hbase-0.94.6-cdh4.5.0) 和 cloudera 管理器来设置所有集群的配置。

我已经为 HBase 设置了以下属性:

<property>
<name>hbase.hregion.max.filesize</name>
<value>10737418240</value>
<source>hbase-default.xml</source>
</property>

注意: 10737418240 <=> 10G

因此,根据我阅读的所有文档,数据应累积到单个区域中,直到区域大小达到 10G。

但是,好像不行。。。也许我错过了什么......

这是我的 hbase 表的所有区域及其大小:

root@hadoopmaster01:~# hdfs dfs -du -h/hbase/my_table
第719话
0/hbase/我的表/.tmp
222.2 M/hbase/my_table/08e225d0ae802ef805fff65c89a15de6
602.7 M/hbase/my_table/0f3bb09af53ebdf5e538b50d7f08786e
735.1 M/hbase/my_table/1152669b3ef439f08614e3785451c305
2.8 G/hbase/my_table/1203fbc208fc93a702c67130047a1e4f
379.3 M/hbase/my_table/1742b0e038ece763184829e25067f138
7.3 G/hbase/my_table/194eae40d50554ce39c82dd8b2785d96
627.1 M/hbase/my_table/28aa1df8140f4eb289db76a17c583028
274.6 M/hbase/my_table/2f55b9760dbcaefca0e1064ce5da6f48
1.5 G/hbase/my_table/392f6070132ec9505d7aaecdc1202418
1.5 G/hbase/my_table/4396a8d8c5663de237574b967bf49b8a
1.6 G/hbase/my_table/440964e857d9beee1c24104bd96b7d5c
1.5 G/hbase/my_table/533369f47a365ab06f863d02c88f89e2
2.5 G/hbase/my_table/6d86b7199c128ae891b84fd9b1ccfd6e
1.2 G/hbase/my_table/6e5e6878028841c4d1f4c3b64d04698b
1.6 G/hbase/my_table/7dc1c717de025f3c15aa087cda5f76d2
200.2 M/hbase/my_table/8157d48f833bb3b708726c703874569d
118.0 M/hbase/my_table/85fb1d24bf9d03d748f615d3907589f2
2.0 G/hbase/my_table/94dd01c81c73dc35c02b6bd2c17d8d22
265.1 M/hbase/my_table/990d5adb14b2d1c936bd4a9c726f8e03
335.0 M/hbase/my_table/a9b673c142346014e01d7cf579b0e58a
502.1 M/hbase/my_table/ae3b1f6f537826f1bdb31bfc89d8ff9a
763.3 M/hbase/my_table/b6039c539b6cca2826022f863ed76c7b
470.7 M/hbase/my_table/be091ead2a408df55999950dcff6e7bc
5.9 G/hbase/my_table/c176cf8c19cc0fffab2af63ee7d1ca45
512.0 M/hbase/my_table/cb622a8a55ba575549759514281d5841
1.9 G/hbase/my_table/d201d1630ffdf08e4114dfc691488372
787.9 M/hbase/my_table/d78b4f682bb8e666488b06d0fd00ef9b
862.8 M/hbase/my_table/edd72e02de2a90aab086acd296d7da2b
627.5 M/hbase/my_table/f13a251ff7154f522e47bd54f0d1f921
1.3 G/hbase/my_table/fde68ec48d68e7f61a0258b7f8898be4

如你所见,有很多区域,其中任何一个的大小都接近10G ...

如果有人遇到过此类问题或知道是否有其他配置需要设置,请帮助我!

谢谢

最佳答案

@mpiffaretti,您所看到的是非常有效的。当我第一次看到自动分割后的区域大小时,我也感到有些震惊。

在 HBase 0.94+ 中,默认的拆分策略是 IncreasingToUpperBoundRegionSplitPolicy .区域大小由以下算法决定。

Split size is the number of regions that are on this server that all are of the same table, cubed, times 2x the region flush size OR the maximum region split size, whichever is smaller. For example, if the flush size is 128M, then after two flushes (256MB) we will split which will make two regions that will split when their size is 2^3 * 128M*2 = 2048M. If one of these regions splits, then there are three regions and now the split size is 3^3 * 128M*2 = 6912M, and so on until we reach the configured maximum filesize and then from there on out, we'll use that.

这是一个非常好的策略,因为您可以开始在区域服务器上很好地分布区域,而不必等到它们达到 10GB 限制。

或者,您最好预先拆分您的表,因为您希望确保您能充分利用集群的处理能力——如果您只有一个区域,所有请求都将转到区域分配到的区域服务器。预拆分将区域如何在行键空间上拆分的控制权交给了您。

关于hadoop - 使用 hbase.hregion.max.filesize 自动分割 HBase 区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23872556/

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