Cloudera Directorからスレーブ追加

qiita初投稿です。
最近、Cloudera Director 触っています。
公式以外の情報がなかなか少なく、手探りな状態でいろいろやっています。

※ Cloudera Director2.0の内容です

# 前置き、Cloudera Director?

オンプレミス環境でHadoopクラスタを運用していてスレーブ追加、、
案外やることが、あったりします。
HW周りの設定、NWの配線といった物理作業、OSインスト、OS/kernel周りの設定、bonding設定。。。あ、、あぁ。。。
自動化できる作業もありますが、物理作業といった自動化できない作業/リードタイムが発生する事がオンプレミス環境では多くあります。
そもそも予備機がなく、発注から という事もあるでしょう。

そこで、**クラウド**、クラウドでCloudera Manager/CDHクラスタ使うなら**Cloudera Director**。クラウド環境前提なのですが、ボタン数ぽちで簡単にインスタンス自動作成といった環境構築、Cloudera Manager/CDHクラスタのインストール、スレーブ追加等出来てしまいます。検証用途にも使えて便利ですね。

EMR,Dataproc,マネージドのTreasureData,BigQuery等も世の中にありますが、Cloudera Manager/CDHクラスタがクラウド環境でよりラクに使えます。

そして、Cloudera Director **複数クラウド(AWSとGCP等)サポート**しています。

環境構築からインストールは、[Cloudera Director のインストール方法](http://qiita.com/shiumachi/items/90649830cb9b45726d99)で紹介されていますので、こちらが出来ている前提とし、今回はスレーブ追加を書いてみようと思います。

# スレーブ追加の前に 基本的な概念

Cloudera Directorで、クラスタのGUIに入ります。
(ここでは、Environment - test   Cloudera Manager - cm03  Cluster - mote-clus1)

<img width="1085" alt="スクリーンショット 2016-03-08 1.53.15.png" src="https://qiita-image-store.s3.amazonaws.com/0/27974/6cd40e25-5e14-50a5-cb63-7469cdb7b3b0.png">

それぞれ以下のようになっています。

* Details -> クラスタの情報
* Service -> 稼働しているCDHサービス。ここはCloudera Managerのステータスを引継ぎます。  
 * 例えば、Cloudera Manager上でエラーでて赤くなっているものは、このService上にも表示され赤くなります。
* Instance groups -> CDHクラスタを構成する全インスタンス。Groupを束ねたもの。
* Group -> masterサーバ群,slaveサーバ群等をまとめた単位。デフォルトだとmasterグループ,workersグループ,gatewayグループ。
* Instance Template -> Group nameに対して一括してあてるTemplate。このTemplateに、インスタンスタイプとかどのAMIから起動する等の設定を入れる。
* Roles -> CDHサービスのインスト対象(NN,RM,HS2など)

上記の状態から、スレーブの追加を行っています。
現在workers(スレーブ)には3台のインスタンスがいる(Instance Statuesesの3より確認可)ので、こちらを4台にしてみます。

# Cloudera Directorからスレーブ追加

以下の公式documentに記載されていますが、スクショつけて書いてみます
(Cloudera Directorについて記載したかったので、リバランスがどうとかは今回省略)。

[Modifying the Number of Instances in an Existing Cluster](http://www.cloudera.com/documentation/director/latest/topics/director_ui_cluster_shrink.html#concept_qnv_qyx_wr_unique_1)

* Cloudera Director GUIへアクセス -> 対象のEnvironmentsを選択(ここではtest) -> スレーブ追加したいCluster nameをクリック

* Modify Clusterクリック

<img width="1085" alt="スクリーンショット 2016-03-08 1.53.15.png" src="https://qiita-image-store.s3.amazonaws.com/0/27974/6cd40e25-5e14-50a5-cb63-7469cdb7b3b0.png">

* 追加したいGroup Name(ロールグループ)のEditをクリック(ここではworkers)

<img width="1089" alt="スクリーンショット 2016-03-08 1.53.21.png" src="https://qiita-image-store.s3.amazonaws.com/0/27974/e4726c86-9b83-33ab-8c7f-aa915a232be5.png">

* Add new  number of instanceで台数を設定 -> OKクリック

<img width="1091" alt="スクリーンショット 2016-03-08 1.53.33.png" src="https://qiita-image-store.s3.amazonaws.com/0/27974/37e89148-7fc4-20d3-bddf-e953b1a39260.png">

* Instance Countが4 of 4 To be added 1になっている事が確認 -> Continue -> OKクリック

<img width="1087" alt="スクリーンショット 2016-03-08 1.53.51.png" src="https://qiita-image-store.s3.amazonaws.com/0/27974/222a225b-223a-1ddd-868b-45e185d93cbd.png">

* インスタンスが自動作成されて、Cloudera Managerで行うスレーブ追加の処理が自動で走ります

* Cloudera Directorからも大まかな状態がわかり、Cloudera Directorの進捗画面カーソルあてると、実行中の処理が表示されます
(インスタンス自動作成後は、Cloudera Managerの画面からより詳細を確認できます)

<img width="1088" alt="スクリーンショット 2016-03-08 2.00.43.png" src="https://qiita-image-store.s3.amazonaws.com/0/27974/08406120-d19d-a568-0cd9-c81722f8cda3.png">

追加されました!! Instance Statuesesで4になっているのを確認します。
なお、Instance TemplateでインスタンスタイプとかDiskサイズがどうとかのIaaS構成情報をもっているので、追加したスレーブもIaaS構成を既存へ揃える事が出来ます。

<img width="1088" alt="スクリーンショット 2016-03-08 2.11.29.png" src="https://qiita-image-store.s3.amazonaws.com/0/27974/f4e58eb0-4e91-67dd-71f3-102485334ce9.png">

(Cloudera Directorについて記載したかったので、リバランスがどうとかは今回省略)

なお、今回は1台だけ追加しましたが、複数台の追加も可能ですし、
slaveサーバ群といったGroup単位でも一括して追加も出来てしまいます。

当然ながら、縮退も出来ます。

非常に便利ですね〜