1

HBaseのデフォルト構成を使用しています。リージョンサーバーごとにたくさんのリージョンがあります。

リージョンの最大サイズを構成できることがわかりました。たとえば、256MBではなく4GBに設定できます。そこで、次の構成を追加してクラスターを再起動しました。

<property>
    <name>hbase.hregion.max.filesize</name>
    <value>4294967296</value>
</property>

次に、major_compactionを実行しましたが、何も起こりませんでした。

既存のデータのこの構成を尊重するために、HBaseにhfileをマージさせるにはどうすればよいですか?

4

2 に答える 2

2

圧縮はStoreFilesをマージしますが、リージョンはマージしません。

以下を使用して、既存のリージョンを手動でマージできます。

$ bin/hbase org.apache.hbase.util.Merge <tablename> <region1> <region2>

暗黙的な領域のマージを可能にするツールとパッチがいくつかあります。

こちらをご覧ください:https ://issues.apache.org/jira/browse/HBASE-7846

于 2013-03-01T12:39:22.873 に答える
0

ここでいくつか、変更された値を取得するには、少なくともHmasterを再起動する必要があると思います。また、バイト値を設定しました。あなたの場合は4294967296(4GB)である必要があります。これらの変更後、Hbaseは指定されたmax.filesizeよりも大きい領域を手動で分割する必要があると思います。または、手動でmajor_compactを実行したり、分割したりすることもできます。

于 2013-01-10T00:52:33.493 に答える