daemontools安装和使用

参考:

http://cr.yp.to/daemontools/install.html

daemontools用于自动重启进程。当某个关键服务进程崩溃,可以利用daemontools启动它。前提是安装并配置它。比如zookeeper服务,作为一个关键服务,崩溃后必须重启。下面介绍daemontools在RHEL6.4(el6)上的安装和用法。

1 安装daemontools

首先是el6安装gcc:

  1. # yum install gcc

然后是下载并安装daemontools:

  1. # wget --no-check-certificate http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
  2.  
  3. # tar zxf daemontools-0.76.tar.gz
  4.  
  5. # cd admin/daemontools-0.76/
  6.  
  7. # sed -i 's/extern int errno;/#include <errno.h>/1' ./src/error.h
  8.  
  9. # ./package/install

2 配置daemontools

配置启动项, 把 csh -cf '/command/svscanboot &' 加入到 /etc/rc.local=>/etc/rc.d/rc.local 末尾:

  1. # sed -i '$acsh -cf \x27\/command\/svscanboot &\x27' /etc/rc.d/rc.local
  2. # sh /etc/rc.local

检查一下服务是否启动:

  1. # 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。使用下面的命令控制服务:

  1. # service salt-minion status|stop|start|restart

配置一个服务非常简单:

1) 创建一个目录,目录下放一个run脚本

2) run脚本执行启动服务的命令

3) 建立/service下一个链接

整个过程如下:

  1. # mkdir /root/salt
  2. # vi /root/salt/run # 内容就下面2句:

#!/bin/sh
exec service salt-minion start

  1. # chmod 1755 /root/salt
  2. # chmod 755 /root/salt/run
  3. # ln -s /root/salt /service/salt

神奇的就是最后一句,一旦创建了链接,daemontools就会自动帮你启动salt-minion服务了。你可以试着停止服务,然后在看看服务是否又被启动了:

  1. [root@hacl-node3 ~]# service salt-minion stop
  2. Stopping salt-minion daemon: [ OK ]
  3. [root@hacl-node3 ~]# service salt-minion status
  4. salt-minion (pid 7844) is running...
  5. [root@hacl-node3 ~]# service salt-minion stop
  6. Stopping salt-minion daemon: [ OK ]
  7. [root@hacl-node3 ~]# service salt-minion status
  8. salt-minion (pid 7939) is running...
  9. [root@hacl-node3 ~]# service salt-minion stop
  10. Stopping salt-minion daemon: [ OK ]
  11. [root@hacl-node3 ~]# service salt-minion status
  12. salt-minion (pid 8073) is running...

这样我们就建立了一个高可用的服务。比如zookeeper-server进程。都可以用这种方式管理起来。

daemontools安装和使用的更多相关文章

  1. mha安装使用手册

    mha安装使用手册 注:目前mha最新的版本代码已经不放到google code网站了,而是放在github上,最新的版本为0.57,github链接如下: mha manager:https://g ...

  2. daemontools管理fast-fail的zookeeper

    daemontools项目:http://cr.yp.to/daemontools.html 1.安装daemontools mkdir /package /package cd /package w ...

  3. Supervisor的安装与使用入门

    Supervisor是一个进程管理工具,官方的说法 自己开发的应用往往也希望做到随系统自动启动, 而且启动之后最好还能方便的控制其停止/重启. 传统的做法是在 /etc/init.d/ 下建立启动脚本 ...

  4. 打包静默安装参数(nsis,msi,InstallShield,InnoSetup)[转]

    有时我们在安装程序的时候,希望是静默安装的,不显示下一步下一步,这编访问来教大家如何来操作,现在常用的制作安装程序的软件有,  Microsoft Windows Installer  , Windo ...

  5. 打包静默安装参数(nsis,msi,InstallShield,InnoSetup)

    原文:打包静默安装参数(nsis,msi,InstallShield,InnoSetup)[转] 有时我们在安装程序的时候,希望是静默安装的,不显示下一步下一步,这编访问来教大家如何来操作,现在常用的 ...

  6. 一些常用软件的静默安装参数(nsis,msi,InstallShield,Inno)

    打包的时候,经常需要安装一些其它的环境库,而又不想让用户繁锁的去选择,这时就需要静默安装,而不同的文件所加的参数了不一致,比如VS的环境库vcredist_x86.exe(这是32位的环境库)后面加/ ...

  7. [docker]通过阿里云源安装docker && flannel不通问题解决(try this guy out)

    docker清理容器 # 容器停止后就自动删除: docker run --rm centos /bin/echo "One"; # 杀死所有正在运行的容器: docker kil ...

  8. 华硕200系主板完美兼容M.2安装Win7系统

    虽然Windows 10系统的装机率正不断攀升,但经典的Windows 7依然有着大量的用户群体.特别是在我们中国, Windows 7依然是许许多多电脑用户的装机首选系统. 经久不衰的Windows ...

  9. 跳过从Win7/8升级,直接格式化全新安装 Windows 10 并自动永久激活系统的方法教程

    跳过升级,直接激活全新 Win10 的方法步骤教程: 下载 Windows 10 系统的 ISO 镜像 在你当前的 Win7 / Win 8 / 8.1 系统中,使用 DaemonTools 或右键选 ...

随机推荐

  1. 集群技术(二) MySQL集群简介与配置详解

    when?why? 用MySQL集群? 减少数据中心结点压力和大数据量处理(读写分离),采用把MySQL分布,一个或多个application对应一个MySQL数据库.把几个MySQL数据库公用的数据 ...

  2. 计算机网络之远程终端协议TELNET

    TELNET 是一个简单的远程终端协议.用户用 TELNET 就可在其所在地通过 TCP 连接注册(即登录)到远地的另一个主机上(使用主机名或 IP 地址). TELNET 能将用户的击键传到远地主机 ...

  3. Ajax+Struts2实现验证码验证功能

    ---------------------------------------------------------------------------------------------------- ...

  4. ObjectOutputStream 和 ObjectInputStream的使用

    一.看一下API文档 ObjectOutputStream : ObjectOutputStream 将 Java 对象的基本数据类型和图形写入 OutputStream.可以使用 ObjectInp ...

  5. FORM开发之键性弹性域开发

    1.创建表时带有键弹性域字段 SUMMARY_FLAG VARCHAR2(1) , /* 必须有此字段 */ ENABLED_FLAG VARCHAR2(1) , /* 必须有此字段 */ START ...

  6. pandas小记:pandas数据输入输出

    http://blog.csdn.net/pipisorry/article/details/52208727 数据输入输出 数据pickling pandas数据pickling比保存和读取csv文 ...

  7. TortoiseSVN使用

    TortoiseSVN是Subversion版本控制系统的一个免费开源客户端,不需要为使用它而付费. TortoiseSVN是 Subversion 的 Windows 扩展.它使你避免接触 Subv ...

  8. 六星经典CSAPP笔记(2)信息的操作和表示

    2.Representing and Manipulating Information 本章从二进制.字长.字节序,一直讲到布尔代数.位运算,最后无符号.有符号整数.浮点数的表示和运算.诚然有些地方的 ...

  9. FFmpeg源代码简单分析:avformat_close_input()

    ===================================================== FFmpeg的库函数源代码分析文章列表: [架构图] FFmpeg源代码结构图 - 解码 F ...

  10. spark idea 的配置问题

    不知道下面的错误是为什么? Error:scalac: missing or invalid dependency detected while loading class file 'RDD.cla ...