使用daemontools監控zookeeper,storm等進程

Daemontools是管理Unix服務的工具,它提供一組工具來管理一系列用戶進程,當進程由於某些原因down掉之後,daemontools會自動重啓進程。本文以對zookeeper和storm監控的例子記錄daemontools的用法。

1、 安裝daemontools

mkdir /opt/daemontools
cd /opt/daemontools
wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
tar -xzvf daemontools-0.76.tar.gz

完成上述步驟後需要進行一些修改,否則執行安裝時會報錯,在src下的conf-cc文件的第一行最後添加如下代碼即可 -include /usr/include/errno.h

vim /opt/daemontools/admin/daemontools/src/conf-cc

添加完後內容如下:

這裏寫圖片描述

修改完成後執行以下命令編譯:

cd /opt/daemontools/admin/daemontools-0.76/
package/install

2、管理zookeeper、storm

創建配置文件,位置可自定義,本示例創建在/opt/daemontools/service下

cd /opt/daemontools/
mkdir -p service/zookeeper
cd service/zookeeper/
vim run

run內容如下:

#!/bin/sh
exec /opt/zookeeper/bin/zkServer.sh start

管理storm nimbus

cd /opt/daemontools/service/
mkdir nimbus
cd nimbus/
vim run

run內容如下:

#!/bin/sh
exec /opt/storm/bin/storm nimbus

“/opt/zookeeper/bin/zkServer.sh start”和”/opt/storm/bin/storm nimbus”分別爲zookeepr和nimbus的啓動命令,可以發現配置比較簡單,只需要吧對應進程的啓動命令加入配置文件即可。此處需要注意的一點,配置啓動命令時切勿配置成後臺啓動,即不要在末尾添加&符號,否則會造成大量重複啓動。

配置完成後需要給run文件賦運行權限

chmod 755 run

ui、supervisor等配置方法同理,不再贅述。

3、管理進程

3.1 啓動被管理的進程

cd /opt/daemontools/service/
nohup ./zookeeper/ &   # (啓動之後,如果zookeeper掛掉,daemontools會自動重啓zookeeper)
nohup ./nimbus/ &      # (啓動之後,如果nimbus掛掉,daemontools會自動重啓nimbus)

其他啓動同理。

3.2 查看被管理的進程狀態

cd /opt/daemontools/service/
svstat ./zookeeper/

3.3 關閉被管理的進程(不會關閉daemontools supervise進程)

cd /opt/daemontools/service/
svc -d ./nginx/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章