使用daemontools監控Zookeeper服務

daemontools(http://cr.yp.to/daemontools.html)是一個管理UNIX下服務的工具集。supervise監視一個服務。它啓動一個服務、當服務停掉時它會重起服務。

Zookeeper在運行過程中,如果出現一些無法處理的異常,會直接退出進程,也就是所謂的快速失敗(fail fast)模式。daemontools 能夠幫助你監控ZK進程,一旦進程退出後,能夠自動重啓進程,從而使down掉的機器能夠重新加入到集羣中去。

安裝daemontools

mkdir /package
chmod 755 /package
cd /package
wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
tar zxf daemontools-0.76.tar.gz
cd admin/daemontools-0.76
vim src/error.h 找到:extern int errno; 改成:#include <errno.h>
package/install

監控Zookeeper

在/service下,新建文件夾zookeeper,新建run文件:

cd /service
mkdir zookeeper
cd zookeeper
vim run
chmod 755 run

run內容:

#!/bin/bash
exec 2>&1
exec /zk/zookeeper-3.4.4/bin/zkServer.sh start

運行:

supervise /service/zookeeper
//或者可以用nohup以後臺方式運行。如下:
nohup supervise /service/zookeeper &

如果出現
supervise: fatal: unable to acquire /service/zookeeper/supervise/lock: temporary failure
快速rm /service/zookeeper/supervise 重新執行 supervise /service/zookeeper 即可

驗證監控zookeeper是否成功:

kill zookeeper進程,查看zookeeper的進程是否自動重啓

ps -aux|grep Dzookeeper //查看zookeeper的進程

參考文獻: http://cr.yp.to/daemontools/faq/create.html

發佈了41 篇原創文章 · 獲贊 7 · 訪問量 35萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章