NHNカンファレンスでもらったHBaseの本を、ざっと斜め読みして、適当にまとめるシリーズ「HBaseを読む」の続きです。
ちゃんとした情報を知りたい人は、HBaseの本を見てください。
今回は2.7から
■2.7 デプロイメント
・設定ができたら、次はクラスタへのデプロイメント
様々な方法がある
通常、サーバー群は同じ設定を共有
→すべてのファイルをそれぞれのサーバーへコピー
「2.2 必要な条件」での議論で推奨された選択や調整を
間違いなく適用している必要アリ
2.7.1 スクリプトベースの方法
・設定ファイルのregionserverにクラスタ内の全サーバーのリスト
→利用する
・マスターノードから全スレーブノードに対して
HBaseの設定ファイル群をコピー
・rsyncを使っている
適切にファイルを同期
サーバー群の再起動
2.7.2 Apache Whirr
・動的な環境でクラスタを動作させようとするユーザー増えている
・プロビジョニングに関する部分を抽象化
クラスタが利用可能になった時点で
→Apache Whirrが役立つのはこの部分
・Whirrは様々なサービスを実行するクラスタのプロビジョニング
HBaseも含まれており、動的な環境下に完全に動作するHBaseクラスタを
すばやくデプロイ
調整済みの設定ファイル:recipesに
2.7.3 PuppetとChef
・Whirrと似た専用マシンへのデプロイメントフレームワーク
Puppet LabsのPuppet
OpscodeのChef
・全ての設定を保存するプロビジョニングサーバーが中央
それぞれのサーバー上で動作するクライアントソフトウェアがサーバーと通信
更新内容を受信、ローカルに適用
・レシピの記法が用意
→スクリプトに変換。各ノードで実行
・動作中のクラスタの変更までサポート
自分の好きな・慣れ親しんでいるアプローチを選択しましょう
■2.8 クラスタの運用
2.8.1 インストールしたHBaseの実行と動作確認
・HDFSが動作していることを確認
HadoopHDFSデーモンの動作と停止
・HBaseはMapReduceのデーモンは使わない
・ZooKeeperを独立して管理しているなら、それらを起動して動作確認
・完全分散モードのHBaseも、以下のコマンドで起動
bin/start-hbase.sh
2.8.2 WebベースUIの紹介
・重要な属性をリスト表示するWebベースのUI
マスターホストのポート60010にデプロイ
リージョンサーバーは60030を使う
http://master.foo.com:60010
・クラスタを起動したらちージョンサーバーが自分自身をマスターに
登録し、期待通りのホスト名で適切な表に表示されていること確認
HBaseとHadoopが動作していることも確認
2.8.3 シェルの紹介
・Hbase Shell
(J)RubyのIRBにHBase関連のコマンドをいくつか追加したもの
2.8.4 クラスタの停止
・以下のコマンドを使う
./bin/stop-hbase.sh
・クラスタが停止するメッセージの後に定期的に .
・分散処理を実行しているなら、必ずHBaseが完全にシャットダウン
してからHadoopのデーモン停止
次回は3章から
ちゃんとした情報を知りたい人は、HBaseの本を見てください。
今回は2.7から
■2.7 デプロイメント
・設定ができたら、次はクラスタへのデプロイメント
様々な方法がある
通常、サーバー群は同じ設定を共有
→すべてのファイルをそれぞれのサーバーへコピー
「2.2 必要な条件」での議論で推奨された選択や調整を
間違いなく適用している必要アリ
2.7.1 スクリプトベースの方法
・設定ファイルのregionserverにクラスタ内の全サーバーのリスト
→利用する
・マスターノードから全スレーブノードに対して
HBaseの設定ファイル群をコピー
・rsyncを使っている
適切にファイルを同期
サーバー群の再起動
2.7.2 Apache Whirr
・動的な環境でクラスタを動作させようとするユーザー増えている
・プロビジョニングに関する部分を抽象化
クラスタが利用可能になった時点で
→Apache Whirrが役立つのはこの部分
・Whirrは様々なサービスを実行するクラスタのプロビジョニング
HBaseも含まれており、動的な環境下に完全に動作するHBaseクラスタを
すばやくデプロイ
調整済みの設定ファイル:recipesに
2.7.3 PuppetとChef
・Whirrと似た専用マシンへのデプロイメントフレームワーク
Puppet LabsのPuppet
OpscodeのChef
・全ての設定を保存するプロビジョニングサーバーが中央
それぞれのサーバー上で動作するクライアントソフトウェアがサーバーと通信
更新内容を受信、ローカルに適用
・レシピの記法が用意
→スクリプトに変換。各ノードで実行
・動作中のクラスタの変更までサポート
自分の好きな・慣れ親しんでいるアプローチを選択しましょう
■2.8 クラスタの運用
2.8.1 インストールしたHBaseの実行と動作確認
・HDFSが動作していることを確認
HadoopHDFSデーモンの動作と停止
・HBaseはMapReduceのデーモンは使わない
・ZooKeeperを独立して管理しているなら、それらを起動して動作確認
・完全分散モードのHBaseも、以下のコマンドで起動
bin/start-hbase.sh
2.8.2 WebベースUIの紹介
・重要な属性をリスト表示するWebベースのUI
マスターホストのポート60010にデプロイ
リージョンサーバーは60030を使う
http://master.foo.com:60010
・クラスタを起動したらちージョンサーバーが自分自身をマスターに
登録し、期待通りのホスト名で適切な表に表示されていること確認
HBaseとHadoopが動作していることも確認
2.8.3 シェルの紹介
・Hbase Shell
(J)RubyのIRBにHBase関連のコマンドをいくつか追加したもの
2.8.4 クラスタの停止
・以下のコマンドを使う
./bin/stop-hbase.sh
・クラスタが停止するメッセージの後に定期的に .
・分散処理を実行しているなら、必ずHBaseが完全にシャットダウン
してからHadoopのデーモン停止
次回は3章から