使用DAEMONTOOLS监控ZOOKEEPER服务

使用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

 

posted @ 2016-09-05 10:42  wangkejun  阅读(481)  评论(0编辑  收藏  举报