storm作者的wiki Fault-tolerance 寫到:the Nimbus and Supervisor daemons must be run under supervision using a tool like daemontools or monit.
通過daemontools管理storm相關組件,這樣意外進程終止的時候,可以自動重啟進程。
1、 安裝daemontools
mkdir /software/daemontools
cd /software
wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
tar -xzvf daemontools-0.76.tar.gz -C /software/daemontools
cd /software/daemontools/admin/daemontools-0.76/
//修改參數,不改會報錯,在src下的conf-cc文件的第一行最后添加如下代碼即可 -include /usr/include/errno.h
//修改完參數后編譯執行
package/install
2、管理storm-nimbus
- 創建nimbus配置文件
mkdir /software/daemontools/service
cd /software/daemontools/service
mkdir nimbus
cd nimbus
vi run
- run內容如下:
#!/bin/sh
exec 2>&1
exec /software/storm/apache-storm-0.9.2-incubating/bin/storm nimbus
- 使run具有可執行權限
chmod 755 run
ui、supervisor等同理,不再贅述。
3、啟動nimbus自動重啟服務
nohup supervise /software/daemontools/service/nimbus &