Hadoop では、ローカルディスクを活用をすることで知られています。

一方、サーバ仮想化環境は共有ディスクを使用することが一般的なので

Hadoop とサーバ仮想化はあまり相性がよくないといわれることがあります。


というわけで、

BDE はどのようにデータストア(ローカル / 共有ディスク)を使用するのか見てみました。

 

BDE でのデータストア利用イメージ


BDE にデフォルトで含まれている

Apache Hadoop 1.2 で、Basic Hadoop Cluster を作成した場合を

例にすると、だいたい下記のような感じです。

BDE-Hadoop-ds-01.png


Hadoop でマスタノードと呼ばれるものは

一般的に、そこまでデータの I/O が無いとされていますが

そのかわり耐障害性が求められます。

今回の例では、下記がマスタノードにあたります。

  • HDFS の NameNode(NN)
  • MapReduce の JobTracker(JT)


一方スレーブノードは、

大量のデータを格納していて

それをもとに分散処理を実行したりするので

ローカルディスクを活用したいサーバです。

今回の例では、下記がマスタノードにあたります。

  • HDFS の DataNode(DN)
  • MapReduce の TaskTracker(TT)


BDE では、ノードの役割によって

ローカルデータストアと共有データストアを使い分けていて、

だいたい下記のような役割分担です。

  • マスタノード → ESXi のローカルデータストアを使用する。
  • スレーブノード → 共有データストアを利用する。

 

マスタノードは、共有データストアに

仮想マシン(VMDK ファイル)が配置されているため、

vMotion や、vSphere HA といった仮想化環境特有の

高可用性の機能を利用できるようになっています。

もうすぐ vSphere FT が複数 vCPU 対応になるようなので

そうなったらさらに有益かと思いました・・・

 

スレーブノードは、ローカルディスクを使用しますが、

もともと MapReduce / HDFS で冗長化が考慮されているので

ノード障害が発生してもそうに問題にならないという想定でしょう。

 

BDE でのデータストアの指定


BDE ではローカルデータストアと共有データストアを使い分けますが、

そのためにvSphere 環境で利用しているデータストアを

さらに BDE で使用するデータストアとしてリソース登録します。

BDE-Hadoop-ds-02.png

 

BDE で Hadoop クラスタを作成するまえにリソース登録しておき、

Hadoop クラスタ作成時には

ノードグループごとにデータストアの種類(Local / Shared)だけ指定します。

 

BDE Web Client プラグイン画面での見え方。


ローカルデータストアを、BDE に登録する例です。

Local / Shared データストアは、それぞれ

まとめて1つのリソースとして登録することができます。

bde-ds-01.png

 

下記の例では、1つの BDE データストア リソースとして

4つのデータストア(VC Datastores)を登録しています。

bde-ds-02.png


逆に、VC データストアそれぞれを

1つずつ BDE データストア リソースとして登録することもできます。

bde-ds-03.png

 

その場合は、下記のようになります。

bde-ds-04.png


Hadoop のノードのデータストアの種類は

Hadoop クラスタの作成(Create New Big Data Cluster)の時に

選択することができます。デフォルトでは、

マスタノード(~Master Node Group)は共有データストア(Shared datastore)、

スレーブノード(Worker Node Group)はローカルデータストア(Local datastores)

になっています。

bde-ds-05.png

 

Resource template で「Customize」を選択すると

データストアを変更することができますが、データストア名を指定するわけではなく

「Local」もしくは「Shared」を指定することで

あとは BDE によって自動的にデータストアが選択されます。

bde-ds-06.png

 

設定はポリシーベースっぽい感じです。

 

マニュアルでは下記のあたり・・・

VMware vSphere Big Data Extensions Administrator's and User's Guide

Big Data Extensions: Add a Datastore

Create a Hadoop or HBase Cluster in the vSphere Web Client

 

BDE については、こちらもどうぞ。

vSphere で Hadoop してみる。(Big Data Extentions) 第1回

vSphere BDE(Hadoop)と vSphere HA の関係について。

 

以上、BDE とデータストアの話でした。