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 (サービス停止)