标签:supervisor 管理启动 进程
管理进程是一件麻烦的事情,有时候进程因为内存被其他进程抢占,导致程序崩溃,又没有好的办法来解决,那么就涉及到如何让它挂了自动启动的问题,supervisor就是一款这样的软件,在做之前,请确保你需要让进程自动启动,否则可能重启机器也无法解决进程占用IO等导致ssh无法连接的问题。下面介绍如何安装与配置,以及如何查看页面状态。
安装supervisor
yum install supervisor -y
ambari按照pid文件来检测进程是否启动,为了使ambari检测进程状态,要保证进程号的文件名称一样,HBASE_IDENT_STRING会在进程启动文件中用作变量去命名进程pid文件
echo ‘export HBASE_IDENT_STRING=hbase‘>>/etc/init.d/supervisord
编辑/etc/supervisord.conf
[unix_http_server]
file=/tmp/supervisor.sock;
[supervisord]
http_port=/var/tmp/supervisor.sock;
http_port=0.0.0.0:9001 ; (alternately, ip_address:port specifies AF_INET)
logfile=/tmp/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=/tmp/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)
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///var/tmp/supervisor.sock ; use a unix:// URL for a unix socket
[program:regionserver]
command=bash /usr/hdp/current/hbase-regionserver/bin/hbase-daemon.sh --config /usr/hdp/current/hbase-regionserver/conf foreground_start regionserver
process_name=%(program_name)s
numprocs=1
;directory=/usr/hdp/current/hbase-regionserver/bin/
autostart=true
autorestart=true
startretries=3
exitcodes=0,2
stopsignal=INT
user=hbase
stdout_logfile=regionserver_out.log
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10
stdout_capture_maxbytes=1MB
stderr_logfile=test_err.log
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10
stderr_capture_maxbytes=1MB
如果还要启动其他程序直接在最后面一行添加即可,比如
[program:wpiweibo]
command=/usr/jdk64/jdk1.8.0_40/bin/java -jar /home/luoweimin/wpiindex/WPIIndex-1.0-SNAPSHOT.jar
numprocs=1
user=luoweimin
stdout_logfile=wpiweibo.out
stderr_logfile=wpiweibo.err
启动
/etc/init.d/superversiord start
由于我监听了9001端口,你可以使用ip:9001去监控页面查看状态,启停服务
标签:supervisor 管理启动 进程
原文地址:http://chenshifei.blog.51cto.com/11883413/1911349