参考来自:http://blog.haohtml.com/archives/15145

0 操作环境

1 supervisord的介绍

Supervisord是用Python实现的一款非常实用的进程管理工具。supervisord会帮你把管理的应用程序转成daemon程序,而且可以方便的通过命令开启、关闭、重启等操作,而且它管理的进程一旦崩溃会自动重启,这样就可以保证程序执行中断后的情况下有自我修复的功能。

2 supervisord的安装

2.1 执行sudo easy_install supervisor

注意:不是supervisord!没有d!

2.2 elkuser is not in the sudoers file. This incident will be reported

执行上条命令的时候,可能会报错误:elkuser is not in the sudoers file. This incident will be reported。原因是:用户xxx没有被加到sudo的配置文件里。

(1)visudo

切换到root用户或者用root用户登录,否则报无权限。执行:visudo。

(2)xxx ALL=(ALL) ALL

在打开的配置文件中,找到root ALL=(ALL) ALL,在下面添加一行:elkuser ALL=(ALL) ALL ,其中elkuser是要加入的用户名称。修改后退出保存,再回到elkuser,就能执行sudo easy_install supervisord命令了。

 

(3)sudo easy_install supervisor

从root用户切换回elkuser,执行sudo easy_install supervisor。

2.3 supervisord和supervisorctl

supervisord一共有两个类型的命令:supervisord和supervisorctl。安装完成后,可以在/user/bin路径下找到。

3 supervisord的配置

3.1 执行echo_supervisord_conf > /etc/supervisord.conf

supervisord默认的配置文件路径为/etc/supervisord.conf。生成/etc/supervisord.conf后,编辑此示例配置文件即可。

3.2 bash:/etc/supervisord.conf : Permission denied

当报这个错误的时候,可以先将配置文件生成在别处,然后再复制在/etc/supervisord.conf中。

执行完这两条语句后:

3.3 supervisord.conf

其他的详细配置略(都采用的默认配置),这里在后面增加配置了三个program,名字分别为elasticsearch,logstash,kibana。

4 supervisord的使用

4.1 /usr/bin/supervisord -c /etc/supervisord.conf

执行完此命令,就使得配置文件生效,所有配置在conf中的program都启动了。比如:查看elasticsearch,已经成功启动。并且需要通过supervisorctl的stop命令来关闭。而关闭此登录会话,或者ctrl+c,进程也继续在执行,实现了后台执行。

4.2 supervisord的一些常用命令

Supervisord安装完成后有两个可用的命令行supervisord 和 supervisorctl,命令使用解释如下:

 supervisord,初始启动Supervisord,启动、管理配置中设置的进程。

 supervisorctl stop programxxx,停止某一个进程(programxxx)
supervisorctl start programxxx,启动某个进程
supervisorctl restart programxxx,重启某个进程
supervisorctl stop all,停止全部进程,注:start、restart、stop都不会载入最新的配置文件。
7 supervisorctl start all,开启全部进程。
supervisorctl reload,载入最新的配置文件,并按新的配置启动、管理所有进程。

示例:

5 遇到的问题

操作过程:

 supervisorctl start all
修改logstsh的配置文件
supervisorctl stop logstash
supervisorctl start logstash

但是却始终没有获取到最新的日志信息。

后来在bin目录下重启logstash才行。

即使执行supervisorctl reload ,update等,都不行。执行在bin目录下更新配置文件。这是为什么。

2017.7.21 linux下进程管理工具supervisord的安装与使用的更多相关文章

  1. Linux进程管理工具 Supervisord 的安装 及 入门教程

    Supervisor是一个进程管理工具,官方的说法: 用途就是有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断.当进程中断的时候我希望能自动重新启动它,此时,我就需要使用到了 ...

  2. Linux下批量管理工具pssh安装和使用

    Linux下批量管理工具pssh安装和使用 pssh工具包 安装:yum -y install pssh pssh:在多个主机上并行地运行命令 pscp:把文件并行地复制到多个主机上 prsync:通 ...

  3. Linux进程管理工具Supervisor的安装配置

    目录 Linux进程管理工具Supervisor的安装配置 简介 安装Python包管理工具 安装Supervisor 配置 配置文件参数说明 配置进程管理 启动supervisor 控制进程 交互终 ...

  4. 【转】Linux下XenServer管理工具安装

    转载文章 - Linux下XenServer管理工具安装 Xen-Server 6.5 虚拟机安装Linux系统 vmware安装ubuntu12.04嵌套安装xen server(实现嵌套虚拟化) ...

  5. Linux 进程管理工具 supervisord 安装及使用

    Supervisor是用Python实现的一款非常实用的进程管理工具 1.安装过程非常简单 安装python 安装meld3-0.6.8.tar.gz 安装supervisor-3.0a12.tar. ...

  6. Supervisor安装与配置(Linux/Unix进程管理工具)

    原文链接:http://blog.csdn.net/xyang81/article/details/51555473 Supervisor(http://supervisord.org/)是用Pyth ...

  7. Supervisor(Linux/Unix进程管理工具)安装与配置

    参考链接:https://blog.csdn.net/xyang81/article/details/51555473 Supervisor(http://supervisord.org/)是用Pyt ...

  8. linux 使用进程管理工具 supervisor

    1.supervisor是使用python进行开发的运行在linux服务器上的进程管理工具 老版本的supervisor需要运行在python2环境,如果需要使用supervisor管理python3 ...

  9. 进程管理工具-Supervisord 使用

    简介 Supervisor 是一个用 Python 写的进程管理工具,可以很方便的用来在 UNIX-like 系统(不支持 Windows)下启动.重启(自动重启程序).关闭进程(不仅仅是 Pytho ...

随机推荐

  1. Waifu2x测试

    真的是好玩..给大家(?)提供一个能用Waifu2x upscale的图片类型集合.. 上面是原图下面是Upscaled..因为是png大家自行下载对比..

  2. Fiddler抓取HTTP请求

    参考链接:http://blog.csdn.net/ohmygirl/article/details/17849983/ http://www.cnblogs.com/kingwolf_JavaScr ...

  3. Gradle for Android(一)

    Gradle是一种基于Groovy的动态DSL,而Groovy语言是一种基于jvm的动态语言.这里只分享实际开发中会用到的场景,您不需要去学习Groovy语言,知道Java的您是很容易阅读Groovy ...

  4. [bzoj3122][SDOI2013]随机数生成器 ——BSGS,数列

    题目大意 给定递推序列: F[i] = a*F[i-1] + b (mod c) 求一个最小的i使得F[i] == t 题解 我们首先要化简这个数列,作为一个学渣,我查阅了一些资料: http://d ...

  5. Video for Linux Two API Specification revision0.24【转】

    转自:http://blog.csdn.net/jmq_0000/article/details/7536805#t136 Video for Linux Two API Specification ...

  6. java基础练习 18

    import java.util.Scanner; public class Eightheen { /*判断一个素数能被几个9整除*/ public static void main(String[ ...

  7. ftp服务器搭建(windows)+实现ftp图片上传对接

    ftp服务器搭建(windows): vsftpd简介: vsftpd是“very secure FTP daemon”的缩写,是一个完全免费的.开放源代码的ftp服务器软件. 下载地址: http: ...

  8. POCO库中文编程参考指南(5)Poco::Net::SocketAddress

    1 枚举 最大地址长度,这个与Poco::Net::IPAddress中的定义可以类比,不过这里指的是`struct sockaddr_in6 enum { MAX_ADDRESS_LENGTH = ...

  9. spark streaming 异常No output streams registered, so nothing to execute

    实现spark streaming demo时,代码: public static void main (String[] args) { SparkConf conf = new SparkConf ...

  10. Mongodb的使用(上)

    简介 MongoDB 是一个基于分布式 文件存储的NoSQL数据库 由C++语言编写,运行稳定,性能高 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案 查看官方网站 MongoDB特点 模式自 ...