Taste of Tech Topics

Acroquest Technology株式会社のエンジニアが書く技術ブログ

StormのプロセスをDaemon化してみます(その3

こんにちは。kimukimuです。

Stormのサービス化、今日は最終的な動作確認とMonitへの登録確認を行います。

8.実際にStormは動くの?

前回Storm関連プロセスのサービス化を行ったので、
下記の2点の確認を行います。

  • 実際にTopologyをSubmitして動くのか?
  • SubmitしたTopologyをstorm killコマンドで終了できるのか?

実際にTopologyが動くことと、コマンドラインが有効になっていることを確認する・・
という形になりますね。

では、まずTopologyの確認から。

前回と同じく、StormStarterのExclamationTopologyを用いて確認を行います。
ただし、Workerプロセスは4個と設定します。

起動すると・・・・きちんとTopologyが動き出していることが確認できました。

次はTopologyの終了確認を行います。

// Topology終了
[root@hyperion bin]# /opt/storm/bin/storm kill ExclamationTopology

すると、無事終了していることが確認できました。

2点確認が終わったので、Service化したStormでもStormは問題なく動作することが確認できました。

9.Monitへの登録

では次はMonitへの登録を行います。
やはり、StormのRPMパッケージプロジェクトにあるMonit用定義ファイルをベースにします。

[root@hyperion src]# tar xzvpf storm-rhel-packaging.tar.gz
storm-rhel-packaging/init.d/storm-nimbus
storm-rhel-packaging/init.d/storm-supervisor
storm-rhel-packaging/init.d/storm-ui
storm-rhel-packaging/sysconfig/storm
storm-rhel-packaging/monit/storm-nimbus
storm-rhel-packaging/monit/storm-supervisor
storm-rhel-packaging/monit/storm-ui
// (※関連ファイルのみ抜粋表示※)
[root@hyperion src]# cp -p storm-rhel-packaging/monit/* /etc/monit.d/
// Monitを再起動してファイル反映
[root@hyperion src]# service monit restart

すると、Monitの画面にStormのサービスが表示されるようになりました。

では実際に画面からサービスの起動/終了ができるか確認しましょう。
Monitの画面から「storm-ui」のリンクを押下すると、storm-uiプロセスの詳細表示画面に遷移します。

ここから「Stop Service」ボタンを押下すると、サービスが停止します。

実際にコマンドラインで見ても停止しています。

[root@hyperion monit.d]# service storm-ui status
Storm ui is stopped.

では、再度起動してみます。「Start Service」ボタンを押下すると、サービスが起動します。

実際にコマンドラインで見ても開始しており、画面も表示が可能なことが確認できました。

[root@hyperion monit.d]# service storm-ui status
Storm ui is running.

これで、Stormが実際に動くこと、Monitから管理可能になることが確認できました。
ひとまず機能的にはOKでした。

・・・ですが、毎回こんな大変なことは出来ないため、
出来ればStormのサービス化したファイル毎RPM化したいところではあります。

次回はこれまでやって来たStormサービス化ファイルをRPMとしてまとめられないか試してみますね。

それでは!