Ambariの設定管理機能を見てみる

別の仕事が入って結構時間が経ってしまいましたが、今回はAmbariの設定管理機能を見ていきます。Ambariでは、Web UI上で各コンポーネントの設定管理を行うことができます。

# 基本的な設定変更

まずは、基本的な設定変更から見ていきます。

AmbariのWeb画面の左側からサービスを選択し、Configsタブを選択します。
今回はYARNを例に見ていきます。

YARNを選択し、Configsタブを選択すると以下の画面が表示されます。

<img width="997" alt="スクリーンショット 2016-08-28 23.28.40.png" src="https://qiita-image-store.s3.amazonaws.com/0/8576/f8a64f5a-99e5-d666-d547-2fffb171b1cc.png">

この画面より、NodeやContainerのメモリやCPUの設定等を変えることができます。
それらの設定を変更した後に、「Save」ボタンを押すと設定が変更されます。

また、「Advanced」タブをクリックするともっと詳細な設定項目について設定変更することができます。

<img width="981" alt="スクリーンショット 2016-08-28 23.35.26.png" src="https://qiita-image-store.s3.amazonaws.com/0/8576/8ea28c62-a829-6cf6-fdd6-568a4ec20117.png">

各設定項目がカテゴリー別に分類されており、目的の設定項目を簡単に探すことができるようになっています。
こちらも、設定項目を変更した後に「Save」ボタンを押すと設定が変更されます。

「Save」ボタンを押すと、コメントを入力するポップアップが出てきます。
この後詳細に説明しますが、設定のバージョン管理のために各変更にコメントをつけることができます。

<img width="572" alt="スクリーンショット 2016-08-28 23.36.23.png" src="https://qiita-image-store.s3.amazonaws.com/0/8576/b2dcca95-92c3-5cd7-692b-c03bdfd6cad0.png">

コメントを入力後、「Save」ボタンを押すと設定変更完了となります。

設定変更が完了すると、以下のように影響したコンポーネントの再起動を促されますので、再起動すれば設定が反映されます。

<img width="974" alt="スクリーンショット 2016-08-28 23.40.05.png" src="https://qiita-image-store.s3.amazonaws.com/0/8576/d4525d13-3791-963a-a524-e86bd81b3a7f.png">

# Host Config Groups

次にHost Config Groupsについて説明します。

Ambariではデフォルトで、すべてのホストを1つのConfig Groupに所属させています。
これは設定をすべてのホストに同じにするということになります。

しかし、クラスタを運用していく上で、後から追加したホストのハードウェア構成が元のホストと違う等の理由で、ホストごとに別の設定にしたい場合があります。そのような場合に、後から追加したホスト群のConfig Groupを別にし、それぞれの設定を反映させることができます。

先ほどの画面の上部に、以下のようにConfig Groupが選択できます。デフォルではDefaultというConfig Groupが選択されています。

<img width="978" alt="スクリーンショット 2016-08-28 23.47.22.png" src="https://qiita-image-store.s3.amazonaws.com/0/8576/e85665cc-13ee-f722-e9e7-73ddc5dfd7c2.png">

「Manage Config Groups」をクリックするとHost Config Groupsのの管理画面が表示されます。
追加したい場合はこちらから行います。

追加したConfig Groupを選択し設定変更を行うと、そのGroupに所属するホストのみの設定変更を行うことができます。

# クライアントの設定をダウンロードする

サービスの画面の右上にある「Service Actions」をクリックすると、そのサービスで行うことができるアクションの一覧が表示されますが、その中に「Download Client Configs」があります。
これを選択すると、このサービスに対するクライアント用の設定ファイルをダウンロードすることができます。

<img width="284" alt="スクリーンショット 2016-08-28 23.54.35.png" src="https://qiita-image-store.s3.amazonaws.com/0/8576/b69924e9-4c03-535e-af70-12af0fcd6bc5.png">

# 設定のバージョン管理をする

最後に設定のバージョン管理について説明します。 
前にも少し触れましたが、Ambariでは設定のバージョン管理が可能です。バージョン管理機能により設定を前のバージョンに戻したり、バージョン間の設定の比較などができます。

先ほどの画面の上部にある、以下で直近のバージョンを確認することができます。

<img width="958" alt="スクリーンショット 2016-08-30 11.33.20.png" src="https://qiita-image-store.s3.amazonaws.com/0/8576/34a2b115-1fe2-d1e8-9116-f89ede6c6807.png">

この例だと「V8」が最新バージョンとなります。

## 前のバージョンに戻す

では、設定を前のバージョンへ戻してみます。
先ほどの画面から「V7」を選択します。そうすると「V7」のバージョンの設定が表示され、そのバージョンの設定を確認することができます。

<img width="975" alt="スクリーンショット 2016-08-30 11.37.30.png" src="https://qiita-image-store.s3.amazonaws.com/0/8576/eb572be0-324a-f147-4eaf-bf848faa9a69.png">

ここで、「Make V7 Current」ボタンを押すと、Save時同様にコメントを入力するポップアップが表示され、コメントを入力後「Make Current」ボタンを押すことで指定したバージョンへ設定を戻すことができます。

## バージョン間の比較

次に、バージョン間の比較方法を説明します。
まず、比較元のバージョンを選択しておきます。そして下記のように、左のほうにあるボタンを選択し、バージョン比較したいバージョンを選択し、「Compare」ボタンを押すと差分のある設定だけが表示されます。

<img width="722" alt="スクリーンショット 2016-08-30 11.58.13.png" src="https://qiita-image-store.s3.amazonaws.com/0/8576/8137ae35-68e6-055d-325c-b77d59b6d6bf.png">

# まとめ

今回は、Ambariの設定管理機能を見てみました。Ambariではクラスタの設定管理を簡単に行うことができます。また、バージョン管理もされているので、前のバージョンに戻したり、比較することが可能です。

# 参考

http://docs.hortonworks.com/HDPDocuments/Ambari-2.2.2.0/bk_Ambari_Users_Guide/content/ch_managing_configurations.html