NHNカンファレンスでもらったHBaseの本を、ざっと斜め読みして、適当にまとめるシリーズ「HBaseを読む」の続きです。
ちゃんとした情報を知りたい人は、HBaseの本を見てください。
今回は2.6から
■2.6 設定
・HBaseの設定
confディレクトリにあるファイル群
XML形式かフラットファイル
環境変数 conf/hbase-env.sh
主にクラスタの起動・停止
conf/hbase-site.xml
分散モード→confディレクトリの内容をクラスタ内の全ノードへ
2.6.1 hbase-site.xmlとhbase-default.xml
・サイト固有のカスタマイズはconf/hbase-site.xml
hbase-default.xmlには全ての設定があるわけではない
ほとんど変更することのない設定を見つける方法:ソース読む
・まず、hbase-default.xmlを読み、その内容をhbase-site.xmlとマージ
(hbase-site.xmlが優先される)
2.6.2 hbase-env.sh
・HBaseの環境設定は、このファイルに設定
2.6.3 regionserver
・既存のリージョンサーバー名
フラットなテキストファイル
2.6.4 log4j-properties
・ログファイルのローリングの頻度、ログメッセージのレベルなどの変更
2.6.5 設定のサンプル
・2.6.5.1 hbase-site.xml
基本的な設定プロパティ
クラスタの設定が定義
・2.6.5.2 regionserver
リージョンサーバーが動作するノードのリスト
・2.6.5.3 hbase-env.sh
・これらのファイルを編集した場合は、クラスタ中の全サーバーに
それらのファイルを配布
→rsyncコマンドを使う
※コラム:HDFS関連の設定
以下のいずれかを行うまで、HBaseからHDFSの設定は見えない
・hbase-env.shのHBASE_CLASSPATHにHADOOP_CONF_DIR追加
・HBASE_HOME/confの下に、hdfs-site.xmlをコピーあるいはリンク
・hbase-site.xmlに直接書く
Hadoopの設定ファイルをHBase似追加する場合、それらの優先順位は
常に最も低い
2.6.6 クライアントの設定
・マスターは物理マシンを渡り歩くことがある
→ZooKeeperに必須の情報を要求
→Javaのクラスパス内にあるhbase-site.xmlに
Zookeeperのクオラム情報必要
・HBASEのクライアントを実行するように設定する場合
conf/ディレクトリをクラスパスに
・HBaseに接続する際に、Javaのクライアントは最低でも
hbase,hadoop-core,zookeeper,log4j,commons-logging,commons-lang
のJarファイルがクラスパス指定されていないといけない
・理想としては、これらのJarは他から持ってくるのでなく、
提供されているものを使う
→マイナーリリースの違いでも、問題を引き起こすかも?
次回は2.7章から