前回Stormのサービス化のためにMonitをインストールしましたので、
次は実際にStormをサービス化してみましょう。
6.Stormのサービス化に必要なファイルは?
必要なのは下記の3つです。
- /etc/init.d用のサービス操作スクリプト
- /etc/init.d配下から読み込むsysconfig設定ファイル
- Monitへのサービス登録用ファイル
ファイル自体はStormのRPMパッケージプロジェクトに全てあるので、それをベースに作成します。
・・・最終的にはspecファイルも編集してRPMパッケージ化するのが理想なんですが、今回の主眼と外れますので、
とりあえずファイルを配置する形で試してみます^^;
7.必要ファイルの配置
まずはStormGitHubから「storm-0.8.0-SNAPSHOT.zip」を、
storm-rhel-packagingから「download as tar.gz」を押下してstorm-rhel-packaging.tar.gzをダウンロードします。
#storm-rhel-packagingは違うファイル名でダウンロードされますが、便宜上「storm-rhel-packaging.tar.gz」とおきます。
[root@hyperion src]# ls storm-0.8.0-SNAPSHOT.zip storm-rhel-packaging.tar.gz
では、各種ファイルの配置を行っていきます。
尚、Stormのインストール先は「/opt/storm」。実行ユーザはまずは「root」として進めます。
■Stormの配置
[root@hyperion src]# unzip storm-0.8.0-SNAPSHOT.zip Archive: storm-0.8.0-SNAPSHOT.zip creating: storm-0.8.0-SNAPSHOT/ // (※省略※) [root@hyperion src]# ls storm-0.8.0-SNAPSHOT storm-0.8.0-SNAPSHOT.zip storm-rhel-packaging.tar.gz [root@hyperion src]# mv storm-0.8.0-SNAPSHOT /opt/ [root@hyperion src]# ls /opt/ storm-0.8.0-SNAPSHOT [root@hyperion src]# ln -s /opt/storm-0.8.0-SNAPSHOT /opt/storm [root@hyperion src]# ls -l /opt/ lrwxrwxrwx 1 root root 25 7月 23 03:16 2012 storm -> /opt/storm-0.8.0-SNAPSHOT drwxr-xr-x 8 root root 4096 7月 18 09:56 2012 storm-0.8.0-SNAPSHOT [root@hyperion src]# vi /opt/storm/bin/storm // #CONF_DIR/STORM_DIRを下記のように修正 // CONF_DIR = "/opt/storm/conf/" // STORM_DIR = "/opt/storm/" [root@hyperion src]# vi /opt/storm/conf/storm.yaml // #末尾に下記の記述を追加 // storm.zookeeper.servers: // - "hyperion" // // nimbus.host: "hyperion" // // storm.local.dir: "/opt/storm"
とりあえずこれでStormの配置は完了です。
では、次はstorm-rhel-packagingの配置を行います。
■storm-rhel-packagingの配置
[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/init.d/* /etc/init.d/ [root@hyperion src]# ls -l /etc/init.d/storm* -rwxrwxr-x 1 root root 2178 7月 18 16:53 2012 /etc/init.d/storm-nimbus -rwxrwxr-x 1 root root 2234 7月 18 16:53 2012 /etc/init.d/storm-supervisor -rwxrwxr-x 1 root root 2132 7月 18 16:53 2012 /etc/init.d/storm-ui [root@hyperion src]# cp -p storm-rhel-packaging/sysconfig/storm /etc/sysconfig/ [root@hyperion src]# ls -l /etc/sysconfig/storm -rw-rw-r-- 1 root root 604 7月 18 16:53 2012 /etc/sysconfig/storm
これでstorm-rhel-packagingの配置も完了です。
では、実際にサービスを起動してみましょう・・・
8.StormService起動!
というわけで(?)、Stormをサービスとして起動します。
事前にZookeeperを起動しておいて、試します。
[root@hyperion src]# service storm-nimbus start Starting storm nimbus... Storm nimbus is running. [ OK ] [root@hyperion src]# service storm-nimbus status Storm nimbus is running. [root@hyperion zookeeper]# service storm-ui start Starting storm ui... Storm ui is running. [ OK ] [root@hyperion zookeeper]# service storm-ui status Storm ui is running. [root@hyperion zookeeper]# service storm-supervisor start Starting storm supervisor... Storm supervisor is running. [ OK ] [root@hyperion zookeeper]# service storm-supervisor status Storm supervisor is running.
これでStormがサービスプロセスとして起動しているはずです。
とりあえず、Storm-UIを確認してみます。
Stormの3プロセス(nimbus、ui、supervisor)が全て起動していることが確認できました。
これでとりあえずStormのサービス化自体は完了です。
残るはサービス化したStormの実際の動作確認と、Monitへの登録ですね。
段々技術検証から実際に運用する段階にシフト出来ていているようでいい感じです。
それでは続きは次回に。