この記事は Hortonworks Advent Calendar 2016 の12/13(火)のエントリーとして投稿しています。
また、以下の記事の続きとなる内容です。
HDP(Hortonworks Data Platform)のコンポーネントの一部である Apache Ambari を利用してプロビジョニングされた Apache Storm のクラスタを、Ambari でどのようにモニタリングできるかを確認してみます。
今回は、Storm を対象にしていますが、Hadoop/Spark/Kafkaなども同様の手順で実施できます。
#概要
Ambariは、クラスタのプロビジョニングだけでなく、サービスやホストのモニタリングも可能です。
特別な設定は不要です。Ambariを利用して構築されたホストは、そこに配備したコンポーネントに応じて、自動でモニタリングの内容も設定されます。
今回は、Zookeeper、および、Stormを含むクラスタを構築した場合のモニタリングを例にして説明します。
##モニタリング内容
##クラスタのモニタリング
最初に表示されるのが、クラスタ全体に関する内容です。
ヘッダーメニューの「Dashboard」をクリックすることで表示されます。
各グラフをクリックすると、拡大されて、詳細な内容がわかります。
ここでは、メモリ、ネットワークI/O、CPUなど、基本的な項目に加えて、Stormのクラスタが含まれているため、Supervisorの項目がありますね。
ただ、この画面は、あまり特徴がなくて、あまり面白くないですね。
Hadoopのクラスタをプロビジョニングした場合は、以下のページにあるように、ダッシュボードにもっと多くの項目が表示されたりします。
今は「Metrics」の内容を表示していましたが、今度は、「Heatmaps」のタブの内容を確認してみます。
Allグリーン状態ではありますが、各ホストのディスク使用量が分かります。
今回は、5台のホストを使っているため、5つのブロックが表示されています。
##ホストのモニタリング
ヘッダーメニューの「Hosts」をクリックして、ホスト名を選択すると、以下のような画面が表示されます。
1台のホストについて、詳細な状況が分かりますね。
##アラート
ヘッダーメニューの「Alert」をクリックして表示される画面では、各プロセスやリソースの状態が一覧で確認できます。
アラートの内容は、メールで通知などの設定をすることも可能です。
##Stormのサービスのモニタリング
次に、Stormのサービスの状態を確認します。
サイドメニューから「Storm」を選択すると、概要の項目が分かります。
- 「Supervisors」が、"2/2" となっており、2台のホストで動作していることが分かります。
- 現在は、何もTopologyをデプロイしていないため、「Free Slots」が "4/4(100% free)" と表示されています。
- 次に、1スロット分を利用する、SlidingWindowTopology をデプロイしてみます。
storm jar ./storm-starter-topologies-*.jar org.apache.storm.starter.SlidingWindowTopology slidingwindow
- 少し待つと、スロットが "3/4(75% free)" になりました。
- Excutors, tasks の数も増加していることが分かります。
- さらに、WordCountTopology をデプロイしてみます。
storm jar ./storm-starter-topologies-*.jar org.apache.storm.starter.WordCountTopology wordcount
- 少し待つと、スロットが "0/4(0% free)" になり、全スロットが動作する状況になりました。
これ以上の詳細は、Storm UIなどをつあって確認していくことになります。
画面上部の**「Quick Links」**をクリックすると、Storm UI の画面を開くこともできます。
#まとめ
Ambari で確認できるメトリクスは、現状では基本的な項目ですが、クラスタを構築して、すぐにこのような情報を確認できるようになるのは便利です。
スループットなども表示できると良いのですが、そこはカスタマイズが必要なようですね。