ウィリアムのいたずらの、まちあるき、たべあるきーPART2

gooブログ「ウィリアムのいたずらの、まちあるき、たべあるき」がお引越ししてきました

HBaseを読む(9)設定

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章から