HBaseのData保存先をAmazonS3にする

提供: LunaBiblos

目次

概要

HbaseのDataのData保存先としてAmazonS3を利用します。
保存先として設定する事は出来ますが、S3側が結果整合性を採用している為、正しいDataが正常に取得出来ずHBaseが正常に動作しない現象が確認されて居る為、非推奨な動作と成っています。

作業概要

/tmp以下が小さいので、/mnt以下をetcにMountします。続いてhbase-site.xmlにAmazonS3接続用に設定を追加し、S3接続に必要なJarを追加してHbaseを起動します。

/mntのBind

/mntを/tmpとして利用する為にBindを行います。Bindがきちんと行えた事を確認する為に「1」というFileをおいておきます。Bindした後、/mnt以下に[1]というFileがあればBind成功です。

cd /mnt
touch 1
cd /
mount --bind /mnt /tmp
cd /tmp
ls -al

XMLの編集

hbase-site.xml中の設定項目「hbase.rootdir」にAmazonS3の保存先を指定します。今回はS3の直下にhbaseDirというDirectoryを作りそこにDataを保存します。
続いてfs.s3.awsAccessKeyIdfs.s3.awsSecretAccessKeyを設定します。
これらの値はWASにLoginした後、Access Identifiersにて表示されるAccess Key IDSecret Access Keyを入力してください。

設定項目名設定値説明
hbase.rootdirs3://hbasedir/AmazonS3上の保存先Directoryの指定です。
hbase.tmp.dir/mnt/hbase-${user.name}HBaseの一次処理領域です。大きくなりがちなので/mnt以下に変更しました。
必須ではありません。
fs.s3.awsAccessKeyId AWSのAccess Key IDを入力します。
fs.s3.awsSecretAccessKey AWSのSecret Access Key IDを入力します。
<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>s3://hbasedir/</value>
        <description></description>
    </property>
    <property>
        <name>fs.s3.awsAccessKeyId</name>
        <value>${HOGE}</value>
    </property>
    <property>
        <name>fs.s3.awsSecretAccessKey</name>
        <value>${FUGA}<value>
    </property>
</configuration>

追加Libraryの準備

上記WebからそれぞれファイルをDownloadして

のJARを取得します。取得したJARをhbaseのLibraryに配置します。

/home/${HBASE_DIR}/hbase-0.20.2/lib
/home/hbase/hbase-0.20.2/lib

Hbaseの起動

上記設定が終わったら通常通りHBaseを起動してください。なお、Cluster環境を作る場合は上記設定に加えてHbaseの構築 に説明のある分散環境構築用の設定を追加し、HBaseを起動してください。

大項目
案内
ツールボックス