今回は、前回までの流れをひきついで
vSphere Big Data Extensions(BDE)で Hadoop クラスタを作成してみます。
Web ブラウザからでも、CLI でもクラスタ作成することができますが、
今回は Web ブラウザ(BDE の vSphere Web Client プラグイン)から実施します。
この Web Client は、普段 vCenter にアクセスする Web Client と同じものです。
これまでの BDE ポストはこちら。
vSphere で Hadoop してみる。(Big Data Extentions) 第1回
BDE でデプロイする Hadoop ディストリビューションについて
BDE には、デフォルトでは
Apache の コミュニティ版 の Hadoop 1.2 と bigtop が
ディストリビューションとして登録されています。
BDE に登録されているディストリビューションは、
BDE の vSphere Web Client プラグインの「Hadoop Distributions」から確認できます。
他にもいくつかの Hadoop ディストリビューション(CDH や MapR など)
に対応していて、追加するとこの画面に表示されるようになります。
マニュアルでは下記のあたりを参照・・・
VMware vSphere Big Data Extensions Administrator's and User's Guide
Hadoop Feature Support By Distribution
BDE での Hadoop クラスタ自動構築
それでは、Hadoop クラスタを作成してみます。
「ホーム」から「Big Data Extentions」の画面を開いて、
「Big Data Clusters」→「Getting Started」→
「Create a New Big Data Cluster」をクリックします。
Name and node group 画面で、下記を指定します。
- Name
BDE で独自に使用するクラスタの名前を指定します。 - Hadoop distribution
使用する Hadoop ディストリビューションを選択します。
今回はコミュニティ版 Hadoop を使用します。 - Deployment type
Hadoop をどのようなクラスタ構成にするか、HBbase クラスタにするかなど。
この選択内容によって、すぐ下に表示されている Node group で
設定できるものが変化します。
Hadoop クラスタのノード構成を決めます。今回のように
Deployment type で「Basic Hadoop Cluster」を指定している場合は
ノードグループは下記の4つになります。
- DataMaster Node Group(HDFS のマスタになるサーバ)
- ComputeMaster Node Group(MapReduce のマスタになるサーバ)
- Worker Node Group(HDFS と MapReduce のスレーブになるサーバ)
- Client Node Group(Hadoop に処理をさせるクライアント。なくてもよい)
それぞれのグループで、仮想マシン数を指定し、
「Resource template」で割り当てるリソースを指定します。
Large、Medium...といったあらかじめ用意されたテンプレートがありますが、
今回は出来るだけ小規模にしたいので、すべて「Customize」を指定しました。
DataMaster と ComputeMaster は下記が最小リソース構成です。
「Basic Hadoop Cluster」を指定する場合は、
DataMaster、ComputeMaster どちらも 1台だけになります。
Worker と Client は下記が最小リソース構成のようです。
Worker は、せっかくなので2台にしました。(デフォルトは3台)
「Resource template」で「Customize」を選択する場合は、
下記のような指定ができます。
- vCPU 数
- メモリ容量
- ストレージ容量
各サーバに、この容量の VMDK ファイルが 自動追加されます。 - Datastore type
事前に BDE で使用できるようにリソース登録したデータストアのうち、
Local、Shared どちらとして定義したものを使用するか指定します。
ちなみに、最小値よりも小さくしようとするとエラーになります。
メモリなどは最小値自体が結構大きいので、
検証目的で利用する場合など、物理サーバのスペックが低い環境では要注意だと思います。
Hadoop のトポロジと、クローンされた VM を接続するネットワークを指定します。
トポロジは、BDE デプロイ直後は「HOST_AS_RACK」と「NONE」が選択できます。
※これは MapReduce や HDFS の動作に影響を与えます。詳しくは別途…(ないかも)
ネットワークは、BDE に事前登録してあるポートグループから指定できます。
ここで選択する名前は、通常のポートグループ名でははなく
BDE にリソース登録した時に指定した名前です。
※Customize にチェックを入れると、もう少し細かく使用ネットワークを指定できます。
Hadoop クラスタの作成先となるリソースプールを指定します。
ここで指定するリソースプールは、事前に作成しておく必要があります。
このリソースプールの下に、さらに子リソースプールが自動作成されて VM がクローンされます。
自動クローンされる VM の、ゲスト OS の root パスワードを指定します。
今回は、「Set password」を指定します。
デプロイされた Hadoop クラスタに含まれるゲスト OS の root ユーザには
自動的にこのパスワードがセットされます。
ちなみに、デプロイされるゲスト OS は CentOS 6.4 64bit です。
設定内容が表示されるので、確認して「終了」をクリックします。
Hadoop クラスタの自動構築が開始されます。
vCenter に vSphere Client で接続してみると、
リソースプール作成や VM をクローンしている様子が見やすいと思います。
処理がすべて完了すると、
自動構築したクラスタのすべてのゲスト OS が自動設定されて、VM が起動された状態になります。
クラスタ名をダブルクリックして開くと、
今回の Hadoop クラスタ(hdp_cluster01)には5台の VM が含まれることがわかります。
VM 名は自動設定されたものです。
「ホストおよびクラスタ」インベントリから見ると、このような感じになります。
ちなみに、このクラスタ自動構築処理は複数台の VM をクローンしたりするので、
結構時間がかかります。(数時間かかることがあります)
Nested ESXi 環境などで Hadoop クラスタを 1台の HDD にすべて乗せたりする場合は
半日くらいかかると思っておいた方がよいです。
以上、Web Client + BDE での Hadoop クラスタ自動作成でした。
まだまだ続く・・・