日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Supervisord进程管家

發布時間:2023/11/29 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Supervisord进程管家 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Supervisord進程管家

Supervisord是一個守護進程的工具,當進程意外終止或服務器掉電起來后,希望進程能夠自動運行,supervisord可以很好的為我們做這件事情。同時supervisord也自帶監控界面,可以通過瀏覽器靈活的查看、操作。

以安徽storm快數據系統為例,20臺服務器總計268個進程(不包括CDH hadoop集群進程),全部由supervisord接管。

?

?

1)? 首先安裝meld3和supervisor:

下載地址

https://pypi.python.org/pypi/meld3

https://pypi.python.org/pypi/supervisor

tar xfz meld3-1.0.2.tar.gz

cd meld3-1.0.2

python setup.py install

?

python setup.py install安裝報錯

[root@localhost meld3-1.0.2]# python setup.py install

Traceback (most recent call last):

File "setup.py", line 1, in ?

from setuptools import setup

ImportError: No module named setuptools

?

解決辦法

http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
tar zxvf setuptools-0.6c11.tar.gz
cd setuptools-0.6c11
python setup.py build
python setup.py install

?

?

tar xfz supervisor-3.2.3.tar.gz

cd supervisor-3.2.3

python setup.py install

?

2)生成配置文件:

echo_supervisord_conf > /etc/supervisord.conf

?

3)修改配置文件,并在末尾添加app守護:

vi /etc/supervisord.conf

?

末尾添加app信息:

[program:storm_nimbus]

user=inas

autorestart=true

directory=/home/inas/storm/bin

command=/home/inas/storm/bin/storm nimbus

?

[program:storm_ui]

user=inas

autorestart=true

directory=/home/inas/storm/bin

command=/home/inas/storm/bin/storm ui

?

[program:storm_supervisor]

user=inas

autorestart=true

directory=/home/inas/storm/bin

command=/home/inas/storm/bin/storm supervisor

?

附錄/etc/supervisord.conf? (安徽樣例)

?

4)添加自啟動服務腳本:

vi /etc/init.d/supervisord

詳見附錄/etc/init.d/supervisord

?

5)生成日志目錄并添加到服務里:

mkdir -p /var/log/supervisor

chmod +x /etc/init.d/supervisord

chkconfig --add supervisord

chkconfig --list supervisord

?

6)相關命令:

service supervisord start|stop|status|reload|restart

supervisorctl status

supervisorctl start xxx

supervisorctl stop xxx

supervisorctl update

?

7)監控頁面(如需要安全性,也可以設置賬號):

http://x.x.x.x:9001

?

?

?

8)FAQ:

Q)由supervisord守護的進程條件?

A)啟動命令中不能包含daemon或&后臺符來運行即可。

?

Q)如果/etc/supervisord.conf里新增加了app,需要重啟supervisord?

A)可以通過service supervisord restart來重啟所有app;

也可以通過supervisorctl update命令來運行新增的app,而原有未改動的app不受影響。

?

?

?

?

?

?

?

附錄1:

/etc/supervisord.conf文件樣例:

; Sample supervisor config file.

;

; For more information on the config file, please see:

; http://supervisord.org/configuration.html

;

; Notes:

; ?- Shell expansion ("~" or "$HOME") is not supported.? Environment

;??? variables can be expanded using this syntax: "%(ENV_HOME)s".

;? - Comments must have a leading space: "a=b ;comment" not "a=b;comment".

?

[unix_http_server]

file=/tmp/supervisor.sock? ?????; (the path to the socket file)

;chmod=0700???????????????? ; socket file mode (default 0700)

;chown=nobody:nogroup?????? ; socket file uid:gid owner

;username=user????????????? ; (default is no username (open server))

;password=123?????????????? ; (default is no password (open server))

?

[inet_http_server]???????? ; inet (TCP) server disabled by default

port=0.0.0.0:9001????? ???; (ip_address:port specifier, *:port for all iface)

;username=user????????????? ; (default is no username (open server))

;password=123?????????????? ; (default is no password (open server))

?

[supervisord]

logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)

logfile_maxbytes=50MB??????? ; (max main logfile bytes b4 rotation;default 50MB)

logfile_backups=10?????????? ; (num of main logfile rotation backups;default 10)

loglevel=info??????????????? ; (log level;default info; others: debug,warn,trace)

pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)

nodaemon=false? ?????????????; (start in foreground if true;default false)

minfds=1024????????????????? ; (min. avail startup file descriptors;default 1024)

minprocs=200???????????????? ; (min. avail process descriptors;default 200)

;umask=022?????????????????? ; (process file creation umask;default 022)

;user=chrism???????????????? ; (default is current user, required if root)

;identifier=supervisor?????? ; (supervisord identifier, default is 'supervisor')

;directory=/tmp????????????? ; (default is not to cd during start)

;nocleanup=true????????????? ; (don't clean up tempfiles at start;default false)

;childlogdir=/tmp??????????? ; ('AUTO' child log dir, default $TEMP)

;environment=KEY="value"???? ; (key value pairs to add to environment)

;strip_ansi=false??????????? ; (strip ansi escape codes in logs; def. false)

?

; the below section must remain in the config file for RPC

; (supervisorctl/web interface) to work, additional interfaces may be

; added by defining them in separate rpcinterface: sections

[rpcinterface:supervisor]

supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

?

[supervisorctl]

serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL? for a unix socket

;serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket

;username=chris????????????? ; should be same as http_username if set

;password=123??????????????? ; should be same as http_password if set

;prompt=mysupervisor???????? ; cmd line prompt (default "supervisor")

;history_file=~/.sc_history? ; use readline history if available

?

; The below sample program section shows all possible program subsection values,

; create one or more 'real' program: sections to be able to control them under

; supervisor.

?

;[program:theprogramname]

;command=/bin/cat????????????? ; the program (relative uses PATH, can take args)

;process_name=%(program_name)s ; process_name expr (default %(program_name)s)

;numprocs=1??????????????????? ; number of processes copies to start (def 1)

;directory=/tmp?????????????? ?; directory to cwd to before exec (def no cwd)

;umask=022???????????????????? ; umask for process (default None)

;priority=999????????????????? ; the relative start priority (default 999)

;autostart=true??????????????? ; start at supervisord start (default: true)

;startsecs=1?????????????????? ; # of secs prog must stay up to be running (def. 1)

;startretries=3??????????????? ; max # of serial start failures when starting (default 3)

;autorestart=unexpected??????? ; when to restart if exited after running (def: unexpected)

;exitcodes=0,2???????????????? ; 'expected' exit codes used with autorestart (default 0,2)

;stopsignal=QUIT?????????????? ; signal used to kill process (default TERM)

;stopwaitsecs=10?????????????? ; max num secs to wait b4 SIGKILL (default 10)

;stopasgroup=false???????????? ; send stop signal to the UNIX process group (default false)

;killasgroup=false???????????? ; SIGKILL the UNIX process group (def false)

;user=chrism?????????????????? ; setuid to this UNIX account to run the program

;redirect_stderr=true????????? ; redirect proc stderr to stdout (default false)

;stdout_logfile=/a/path??????? ; stdout log path, NONE for none; default AUTO

;stdout_logfile_maxbytes=1MB?? ; max # logfile bytes b4 rotation (default 50MB)

;stdout_logfile_backups=10???? ; # of stdout logfile backups (default 10)

;stdout_capture_maxbytes=1MB?? ; number of bytes in 'capturemode' (default 0)

;stdout_events_enabled=false?? ; emit events on stdout writes (default false)

;stderr_logfile=/a/path??????? ; stderr log path, NONE for none; default AUTO

;stderr_logfile_maxbytes=1MB?? ; max # logfile bytes b4 rotation (default 50MB)

;stderr_logfile_backups=10???? ; # of stderr logfile backups (default 10)

;stderr_capture_maxbytes=1MB?? ; number of bytes in 'capturemode' (default 0)

;stderr_events_enabled=false?? ; emit events on stderr writes (default false)

;environment=A="1",B="2"?????? ; process environment additions (def no adds)

;serverurl=AUTO??????????????? ; override serverurl computation (childutils)

?

; The below sample eventlistener section shows all possible

; eventlistener subsection values, create one or more 'real'

; eventlistener: sections to be able to handle event notifications

; sent by supervisor.

?

;[eventlistener:theeventlistenername]

;command=/bin/eventlistener??? ; the program (relative uses PATH, can take args)

;process_name=%(program_name)s ; process_name expr (default %(program_name)s)

;numprocs=1??????????????????? ; number of processes copies to start (def 1)

;events=EVENT????????????????? ; event notif. types to subscribe to (req'd)

;buffer_size=10??????????????? ; event buffer queue size (default 10)

;directory=/tmp??????????????? ; directory to cwd to before exec (def no cwd)

;umask=022???????????????????? ; umask for process (default None)

;priority=-1?????????????????? ; the relative start priority (default -1)

;autostart=true??????????????? ; start at supervisord start (default: true)

;startsecs=1?????????????????? ; # of secs prog must stay up to be running (def. 1)

;startretries=3??????????? ????; max # of serial start failures when starting (default 3)

;autorestart=unexpected??????? ; autorestart if exited after running (def: unexpected)

;exitcodes=0,2???????????????? ; 'expected' exit codes used with autorestart (default 0,2)

;stopsignal=QUIT?????????????? ; signal used to kill process (default TERM)

;stopwaitsecs=10?????????????? ; max num secs to wait b4 SIGKILL (default 10)

;stopasgroup=false???????????? ; send stop signal to the UNIX process group (default false)

;killasgroup=false?????? ??????; SIGKILL the UNIX process group (def false)

;user=chrism?????????????????? ; setuid to this UNIX account to run the program

;redirect_stderr=false???????? ; redirect_stderr=true is not allowed for eventlisteners

;stdout_logfile=/a/path??????? ; stdout log path, NONE for none; default AUTO

;stdout_logfile_maxbytes=1MB?? ; max # logfile bytes b4 rotation (default 50MB)

;stdout_logfile_backups=10???? ; # of stdout logfile backups (default 10)

;stdout_events_enabled=false?? ; emit events on stdout writes (default false)

;stderr_logfile=/a/path??????? ; stderr log path, NONE for none; default AUTO

;stderr_logfile_maxbytes=1MB?? ; max # logfile bytes b4 rotation (default 50MB)

;stderr_logfile_backups=10???? ; # of stderr logfile backups (default 10)

;stderr_events_enabled=false?? ; emit events on stderr writes (default false)

;environment=A="1",B="2"?????? ; process environment additions

;serverurl=AUTO??????????????? ; override serverurl computation (childutils)

?

; The below sample group section shows all possible group values,

; create one or more 'real' group: sections to create "heterogeneous"

; process groups.

?

;[group:thegroupname]

;programs=progname1,progname2? ; each refers to 'x' in [program:x] definitions

;priority=999????????????????? ; the relative start priority (default 999)

?

; The [include] section can just contain the "files" setting.? This

; setting can list multiple files (separated by whitespace or

; newlines).? It can also contain wildcards.? The filenames are

; interpreted as relative to this file.? Included files *cannot*

; include files themselves.

?

;[include]

;files = relative/directory/*.ini

?

[program:zookeeper]

user=inas

autorestart=true

command=/usr/java/default/bin/java -Dzookeeper.log.dir=/home/inas/zookeeper-3.4.8/bin -Dzookeeper.root.logger=INFO,CONSOLE -cp /home/inas/zookeeper-3.4.8/build/classes:/home/inas/zookeeper-3.4.8/build/lib/*.jar:/home/inas/zookeeper-3.4.8/lib/slf4j-log4j12-1.6.1.jar:/home/inas/zookeeper-3.4.8/lib/slf4j-api-1.6.1.jar:/home/inas/zookeeper-3.4.8/lib/netty-3.7.0.Final.jar:/home/inas/zookeeper-3.4.8/lib/log4j-1.2.16.jar:/home/inas/zookeeper-3.4.8/lib/jline-0.9.94.jar:/home/inas/zookeeper-3.4.8/zookeeper-3.4.8.jar:/home/inas/zookeeper-3.4.8/src/java/lib/*.jar:/home/inas/zookeeper-3.4.8/conf:.:/usr/java/default/lib/dt.jar:/usr/java/default/lib/tools.jar: -Xms4096m -Xmx4096m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false org.apache.zookeeper.server.quorum.QuorumPeerMain /home/inas/zookeeper-3.4.8/conf/zoo.cfg

?

[program:storm_nimbus]

user=inas

autorestart=true

command=/home/inas/storm/bin/storm nimbus

?

[program:storm_ui]

user=inas

autorestart=true

command=/home/inas/storm/bin/storm ui

?

[program:storm_supervisor]

user=inas

autorestart=true

command=/home/inas/storm/bin/storm supervisor

?

[program:haproxy]

user=inas

autorestart=true

directory=/home/inas/haproxy

command=/home/inas/haproxy/haproxy -f haproxy_supervisord.cfg

?

[program:tomcat1]

user=inas

autorestart=true

directory=/home/inas/tomcat1/bin

command=/home/inas/tomcat1/bin/catalina.sh run

?

[program:tomcat2]

user=inas

autorestart=true

directory=/home/inas/tomcat2/bin

command=/home/inas/tomcat2/bin/catalina.sh run

?

?

附錄2

/etc/init.d/supervisord 文件樣例:

#!/bin/bash

#

# supervisord?? Startup script for the Supervisor process control system

#

# Author:?????? Mike McGrath <mmcgrath@redhat.com> (based off yumupdatesd)

#?????????????? Jason Koppe <jkoppe@indeed.com> adjusted to read sysconfig,

#?????????????????? use supervisord tools to start/stop, conditionally wait

#?????????? ????????for child processes to shutdown, and startup later

#?????????????? Erwan Queffelec <erwan.queffelec@gmail.com>

#?????????????????? make script LSB-compliant

#

# chkconfig:??? 345 83 04

# description: Supervisor is a client/server system that allows \

#?? its users to monitor and control a number of processes on \

#?? UNIX-like operating systems.

# processname: supervisord

# config: /etc/supervisord.conf

# config: /etc/sysconfig/supervisord

# pidfile: /var/run/supervisord.pid

#

### BEGIN INIT INFO

# Provides: supervisord

# Required-Start: $all

# Required-Stop: $all

# Short-Description: start and stop Supervisor process control system

# Description: Supervisor is a client/server system that allows

#?? its users to monitor and control a number of processes on

#?? UNIX-like operating systems.

### END INIT INFO

?

# Source function library

. /etc/rc.d/init.d/functions

?

# Source system settings

if [ -f /etc/sysconfig/supervisord ]; then

??? . /etc/sysconfig/supervisord

fi

?

# Path to the supervisorctl script, server binary,

# and short-form for messages.

supervisorctl=/usr/bin/supervisorctl

supervisord=${SUPERVISORD-/usr/bin/supervisord}

prog=supervisord

pidfile=${PIDFILE-/var/run/supervisord.pid}

lockfile=${LOCKFILE-/var/lock/subsys/supervisord}

STOP_TIMEOUT=${STOP_TIMEOUT-60}

OPTIONS="${OPTIONS--c /etc/supervisord.conf}"

RETVAL=0

?

start() {

??? echo -n $"Starting $prog: "

??? daemon --pidfile=${pidfile} $supervisord $OPTIONS

??? RETVAL=$?

??? echo

??? if [ $RETVAL -eq 0 ]; then

??????? touch ${lockfile}

????? ??$supervisorctl $OPTIONS status

??? fi

??? return $RETVAL

}

?

stop() {

??? echo -n $"Stopping $prog: "

??? killproc -p ${pidfile} -d ${STOP_TIMEOUT} $supervisord

??? RETVAL=$?

??? echo

??? [ $RETVAL -eq 0 ] && rm -rf ${lockfile} ${pidfile}

}

?

reload() {

??? echo -n $"Reloading $prog: "

??? LSB=1 killproc -p $pidfile $supervisord -HUP

??? RETVAL=$?

??? echo

??? if [ $RETVAL -eq 7 ]; then

??????? failure $"$prog reload"

??? else

??????? $supervisorctl $OPTIONS status

??? fi

}

?

restart() {

??? stop

??? start

}

?

case "$1" in

??? start)

??????? start

??????? ;;

??? stop)

??????? stop

??????? ;;

??? status)

??????? status -p ${pidfile} $supervisord

??????? RETVAL=$?

??????? [ $RETVAL -eq 0 ] && $supervisorctl $OPTIONS status

??????? ;;

??? restart)

??????? restart

??????? ;;

??? condrestart|try-restart)

??????? if status -p ${pidfile} $supervisord >&/dev/null; then

????????? stop

????????? start

??????? fi

??????? ;;

??? force-reload|reload)

??????? reload

??????? ;;

??? *)

??????? echo $"Usage: $prog {start|stop|restart|condrestart|try-restart|force-reload|reload}"

??????? RETVAL=2

esac

?

exit $RETVAL

?

轉載于:https://www.cnblogs.com/chenjunjie/p/7793924.html

總結

以上是生活随笔為你收集整理的Supervisord进程管家的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久操热| 亚洲成人精品网 | 蜜桃麻豆视频 | 欧美一区二区久久久 | 国产18在线| 国产激情一区 | 欧美成人午夜精品久久久 | 精品国产乱码久久久久久免费 | 草比视频在线观看 | 小毛片网站| 在线看黄网 | 啪啪小视频网站 | 国产精品第三页 | 丰满尤物白嫩啪啪少妇 | 精品人成 | www毛片com | 久久涩视频 | www.色网| www.99av | 在线国产不卡 | 天堂中文在线网 | 污污软件在线观看 | 久热精品免费视频 | 国产伦精品一区二区三区精品 | 国产成人三级一区二区在线观看一 | 精品二区在线观看 | 97国产精品久久久 | 午夜精品导航 | 性生交大片免费看3p | 五月天精品 | 欧美乱操| 亚洲美女自拍视频 | 欧美一区成人 | 无码精品久久久久久久 | 高跟肉丝丝袜呻吟啪啪网站av | 伊人久久久久久久久久久久久 | 亚洲国产一区二区三区在线观看 | 日韩视频二区 | 欧美成人精品在线视频 | 好看的黄色录像 | 少妇性l交大片免潘金莲 | 亚洲av高清一区二区三区 | 午夜高潮视频 | 中文字幕一区二区三区四区免费看 | 五月天色小说 | 美女18网站| 欧美无砖专区免费 | 91在线短视频 | 一区二区三区在线视频播放 | 国产精品探花一区二区三区 | 久久国产网 | 免费在线看黄色片 | 日韩黄色在线视频 | 日本黄色免费 | 影音先锋中文字幕在线 | 波多野结衣99 | 特级黄色一级片 | 亚洲一区播放 | 欧美成人午夜精品久久久 | 亚洲国产91| 蜜桃麻豆视频 | 91在线无精精品一区二区 | 国产视频网 | 最新av | 人乳videos巨大吃奶 | 超碰精品在线 | 欧美少妇网 | 99热国产| 大肉大捧一进一出好爽mba | 精品xxx | 日本理论片午伦夜理片在线观看 | 天天舔天天爽 | 99在线视频播放 | 天天干天天爱天天操 | 亚洲黄色在线观看 | 亚洲精品久久久中文字幕痴女 | 99久久婷婷国产精品综合 | 精品动漫一区二区三区的观看方式 | 久久亚洲精华国产精华液 | 国产亚洲精品熟女国产成人 | 97久久人国产精品婷婷 | 污污视频在线免费观看 | 91在线视频观看 | 三度诱惑免费版电影在线观看 | 在线免费观看黄网 | 欧美精品一级二级三级 | 九九热精品在线观看 | av片观看 | 日日日视频 | 无套内谢老熟女 | 亚洲婷婷一区 | 免费黄色网页 | 国产男人搡女人免费视频 | 国产一级片久久 | 69视频一区二区 | 亚洲一区91 | 久久国精品 | 人妻一区二区三区视频 | 欧美一级片观看 |