HBaseのチューニング

提供: LunaBiblos

Software > DataBase > KeyValueストア > HBaseのチューニング

目次

Tuningの基本

下記に紹介するのはTuningの方法であるが、それ以前にTuningすべき箇所の紹介である。
この設定を鵜呑みにするのではなく、用途に合わせて設定値を調整し最適な値を探し出してください。 またHBaseはMemoryがSwapを起こしてしまうと極端に性能が劣化してしまいます。その為、Ganglia等の外部からの監視ツールを用いてSwapの有無を監視してください。Swapが発生している様であれば、RegionServerやHDFSのdatanodeのHeapSizeを小さくし発生しない様に調整してください。

Data圧縮

HBaseが取り扱う実FileをLZOと呼ばれる補法で圧縮する事で効率化、高速化を行います
LZOは圧縮にかかるCPU負荷が非常に軽微である事を特徴とする圧縮方法です。これを使う事DiskのI/OやNetworkのI/O、更にCPU自体の全体的な作業量を減らす事も出来ます。
またHBaseではLZO圧縮を有効にする事で、高負荷時の安定性が大きく改善される為、常時利用する事も考慮に入れても良い

準備

Ubuntuであれば下記Commandを実行し、必要なComponentをInstallします

apt-get install liblzo2-dev

圧縮を行う場合はHBase ShellのCreate文で、Column毎に指定します。

create 'myTable', {NAME=>'ColumnA', COMPRESSION=>'lzo'}, {NAME=>'ColumnB'}, {NAME=>'ColumnC', COMPRESSION=>'lzo'}

上記の様なCreate文の場合、ColumnAとColumnCに対して圧縮が行われます。

参考

ScanSizeの調整

設定XMLの中の値を変更する事でScan時に同時取得する数を調整します。

vi ${HBASE_HOME/conf/}hbase-site.xml

上記CommandでFileを開き下記の設定項目を変更します。初期値は1ですが100前後位に上げた方が良いみたいです。

hbase.client.scanner.caching
大項目
案内
ツールボックス