Cassandraをdaemontoolsで起動・管理する
OS起動のタイミングでCassandraを起動するために、daemontoolsを設定しました。
Debian lenny標準のパッケージを使いましたが、etchの時とディレクトリ構成が変わっていました。
(daemontoolsのインストール)
$ sudo aptitude install daemontools daemontools-run $ ps aux | grep svscan root 2419 0.0 0.1 17280 1372 ? Ss 02:21 0:00 /bin/sh /usr/bin/svscanboot root 2421 0.0 0.0 3824 436 ? S 02:21 0:00 svscan /etc/service
(daemontoolsの設定)
起動スクリプトを"/var/daemontools"以下に作成し、"/etc/service"へシンボリックリンクを作成しました。
$ sudo mkdir -p /var/daemontools/cassandra $ sudo mkdir -p /var/daemontools/cassandra/log $ sudo vi /var/daemontools/cassandra/run #!/bin/sh CASSANDRA_HOME=/opt/local/apache-cassandra CASSANDRA_USER=cassandra exec 2>&1 exec sudo -u $CASSANDRA_USER $CASSANDRA_HOME/bin/cassandra -f $ sudo vi /var/daemontools/cassandra/log/run #!/bin/sh exec 2>&1 exec multilog t . $ sudo chmod +x /var/daemontools/cassandra/run $ sudo chmod +x /var/daemontools/cassandra/log/run $ sudo ln -s /var/daemontools/cassandra /etc/service
(サービス状態の確認・サービスの起動停止)
$ sudo svstat /etc/service/cassandra /etc/service/cassandra: up (pid 1736) 1603 seconds $ sudo svc -u /etc/service/cassandra (サービス起動) $ sudo svc -d /etc/service/cassandra (サービス停止)