daemontools安装和使用
daemontools安装和使用
参考:
http://cr.yp.to/daemontools/install.html
daemontools用于自动重启进程。当某个关键服务进程崩溃,可以利用daemontools启动它。前提是安装并配置它。比如zookeeper服务,作为一个关键服务,崩溃后必须重启。下面介绍daemontools在RHEL6.4(el6)上的安装和用法。
1 安装daemontools
首先是el6安装gcc:
# yum install gcc
然后是下载并安装daemontools:
# wget --no-check-certificate http://cr.yp.to/daemontools/daemontools-0.76.tar.gz # tar zxf daemontools-0.76.tar.gz # cd admin/daemontools-0.76/ # sed -i 's/extern int errno;/#include <errno.h>/1' ./src/error.h # ./package/install
2 配置daemontools
配置启动项, 把 csh -cf '/command/svscanboot &' 加入到 /etc/rc.local=>/etc/rc.d/rc.local 末尾:
# sed -i '$acsh -cf \x27\/command\/svscanboot &\x27' /etc/rc.d/rc.local # sh /etc/rc.local
检查一下服务是否启动:
# ps -ef | grep svscanboot
root 1618 1 0 23:37 ? 00:00:00 /bin/sh /command/svscanboot
root 3992 1911 0 23:51 pts/0 00:00:00 grep svscanboot
3 添加监控的服务
经过以上步骤,我们已经配置好daemontools. 下面添加我们要监控的服务。例如salt-minion。使用下面的命令控制服务:
# service salt-minion status|stop|start|restart
配置一个服务非常简单:
1) 创建一个目录,目录下放一个run脚本
2) run脚本执行启动服务的命令
3) 建立/service下一个链接
整个过程如下:
# mkdir /root/salt # vi /root/salt/run # 内容就下面2句:
#!/bin/sh
exec service salt-minion start
# chmod 1755 /root/salt # chmod 755 /root/salt/run # ln -s /root/salt /service/salt
神奇的就是最后一句,一旦创建了链接,daemontools就会自动帮你启动salt-minion服务了。你可以试着停止服务,然后在看看服务是否又被启动了:
[root@hacl-node3 ~]# service salt-minion stop Stopping salt-minion daemon: [ OK ] [root@hacl-node3 ~]# service salt-minion status salt-minion (pid 7844) is running... [root@hacl-node3 ~]# service salt-minion stop Stopping salt-minion daemon: [ OK ] [root@hacl-node3 ~]# service salt-minion status salt-minion (pid 7939) is running... [root@hacl-node3 ~]# service salt-minion stop Stopping salt-minion daemon: [ OK ] [root@hacl-node3 ~]# service salt-minion status salt-minion (pid 8073) is running...
这样我们就建立了一个高可用的服务。比如zookeeper-server进程。都可以用这种方式管理起来。
daemontools安装和使用的更多相关文章
- mha安装使用手册
mha安装使用手册 注:目前mha最新的版本代码已经不放到google code网站了,而是放在github上,最新的版本为0.57,github链接如下: mha manager:https://g ...
- daemontools管理fast-fail的zookeeper
daemontools项目:http://cr.yp.to/daemontools.html 1.安装daemontools mkdir /package /package cd /package w ...
- Supervisor的安装与使用入门
Supervisor是一个进程管理工具,官方的说法 自己开发的应用往往也希望做到随系统自动启动, 而且启动之后最好还能方便的控制其停止/重启. 传统的做法是在 /etc/init.d/ 下建立启动脚本 ...
- 打包静默安装参数(nsis,msi,InstallShield,InnoSetup)[转]
有时我们在安装程序的时候,希望是静默安装的,不显示下一步下一步,这编访问来教大家如何来操作,现在常用的制作安装程序的软件有, Microsoft Windows Installer , Windo ...
- 打包静默安装参数(nsis,msi,InstallShield,InnoSetup)
原文:打包静默安装参数(nsis,msi,InstallShield,InnoSetup)[转] 有时我们在安装程序的时候,希望是静默安装的,不显示下一步下一步,这编访问来教大家如何来操作,现在常用的 ...
- 一些常用软件的静默安装参数(nsis,msi,InstallShield,Inno)
打包的时候,经常需要安装一些其它的环境库,而又不想让用户繁锁的去选择,这时就需要静默安装,而不同的文件所加的参数了不一致,比如VS的环境库vcredist_x86.exe(这是32位的环境库)后面加/ ...
- [docker]通过阿里云源安装docker && flannel不通问题解决(try this guy out)
docker清理容器 # 容器停止后就自动删除: docker run --rm centos /bin/echo "One"; # 杀死所有正在运行的容器: docker kil ...
- 华硕200系主板完美兼容M.2安装Win7系统
虽然Windows 10系统的装机率正不断攀升,但经典的Windows 7依然有着大量的用户群体.特别是在我们中国, Windows 7依然是许许多多电脑用户的装机首选系统. 经久不衰的Windows ...
- 跳过从Win7/8升级,直接格式化全新安装 Windows 10 并自动永久激活系统的方法教程
跳过升级,直接激活全新 Win10 的方法步骤教程: 下载 Windows 10 系统的 ISO 镜像 在你当前的 Win7 / Win 8 / 8.1 系统中,使用 DaemonTools 或右键选 ...
随机推荐
- Dynamics 365 你所期待的子网格编辑终于来了
Dynamics 365的online版本已经在11月1号发布了,on-premises版也在没几天后发布,今天略看了一眼 what's new 一眼就看到了 editable grids,这个不用我 ...
- cassandra 3.x官方文档(3)---gossip通信协议及故障检测与恢复
写在前面 cassandra3.x官方文档的非官方翻译.翻译内容水平全依赖本人英文水平和对cassandra的理解.所以强烈建议阅读英文版cassandra 3.x 官方文档.此文档一半是翻译,一半是 ...
- SimpleDateFormat中parse和format的区别
parse()返回的是一个Date类型数据,format返回的是一个StringBuffer类型的数据 //SimpleDateFormat中的parse方法可以 //把String型的字符串转换成特 ...
- 初识Spark2.0之Spark SQL
内存计算平台spark在今年6月份的时候正式发布了spark2.0,相比上一版本的spark1.6版本,在内存优化,数据组织,流计算等方面都做出了较大的改变,同时更加注重基于DataFrame数据组织 ...
- 【SSH系列】Hibernate映射 -- 一对多关联映射
映射原理 一对多关联映射和多对一关联映射的映射原理是一样一样的,所以说嘛,知识都是相通的,一通百通,为什么说一对多关联映射和多对一关联映射是一样的呢?因为她们都是在多的一端加入一个 ...
- spark下使用submit提交任务后报jar包已存在错误
使用spark submit进行任务提交,离线跑数据,提交后的一段时间内可以application可以正常运行.过了一段时间后,就抛出以下错误: org.apache.spark.SparkExcep ...
- activiti节点跳转
分享牛原创(尊重原创 转载对的时候第一行请注明,转载出处来自分享牛http://blog.csdn.net/qq_30739519) activiti使用的时候,通常需要跟业务紧密的结合在一起,有些业 ...
- 2 TileMapObject的使用
1 CCTMXObjectGroup的使用方法 为了取以下内容: 操作代码如下: T27TileMapObject.h #ifndef __T27TileMapObject_H__ #define _ ...
- 你知道RxJava也可以实现AsyncTask吗?
使用RxJava实现异步操作(AsyncTask) 常见的异步操作我们可以联想到AsyncTask或者handler,其实google创造出的目的也就是为了让代码更加清晰明了,让代码更加简洁. 而Rx ...
- 6. React 表单使用介绍
表单是前端页面中非常重要也是非常常用的一个内容,react 也在表单方面进行了很多封装,让开发者可以方便快捷地在 react 组件中使用表单.下面介绍如何在组件中正确的使用表单,从而可 ...