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 &