Apache Doris通过supervisor进行进程管理(挂了自启)
目录
一、概述
Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警。supervisor还提供了一个功能,可以为supervisord或者每个子进程,设置一个非root的user,这个user就可以管理它对应的进程。
二、安装supervisor
2.1.yum方式安装supervisor
$ yum -y install epel-release
$ yum -y install supervisor
2.2.修改supervisor配置
$ vi /etc/supervisord.conf
minfds=655350 ; (min. avail startup file descriptors;default 1024)
minprocs=65535 ; (min. avail process descriptors;default 200)
2.3.启动supervisor
$ systemctl enable supervisord # 开机自启动
$ systemctl start supervisord # 启动supervisord服务
$ systemctl status supervisord # 查看supervisord服务状态
#重启supervisord
$ systemctl restart supervisord
三、配置BE自启
3.1.创建和编辑BE自启文件 doris_be.ini
$ vi /etc/supervisord.d/doris_be.ini
doris_be.ini内容
[program:doris_be]
process_name=%(program_name)s
directory=/usr/local/doris/be
command=sh /usr/local/doris/be/bin/start_be.sh
autostart=true
autorestart=true
user=root
numprocs=1
startretries=3
stopasgroup=true
killasgroup=true
startsecs=5
3.2.加载doris_be.ini
#刷新配置
$ supervisorctl update
#查看状态
$ supervisorctl status
如果失败状态,可以先停止be,然后通过supervisorctl启动be
$ sh /usr/local/doris/be/bin/stop_be.sh
$ supervisorctl start doris_be
#通过supervisorctl停止be
$ supervisorctl stop doris_be
#通过supervisorctl重启be
$ supervisorctl restart doris_be
#启动所有受supervisor管理的应用
$ supervisorctl start all
四、配置FE自启
4.1.创建和编辑FE自启文件 doris_fe.ini
vi /etc/supervisord.d/doris_fe.ini
doris_fe.ini内容
[program:doris_fe]
environment = JAVA_HOME="/usr/lib/jvm/java-1.8.0"
process_name=%(program_name)s ;进程名称
directory=/usr/local/doris/fe ;工作目录
command=sh /usr/local/doris/fe/bin/start_fe.sh ;运行的命令
autostart=true ;自动开启
autorestart=true ;自动重启
user=root ;用户
numprocs=1 ;进程数
startretries=3 ;启动重试次数
stopasgroup=true ;是否停止子进程
killasgroup=true ;是否杀死子进程
;startsecs=10 ;启动10秒后,如果还是运行状态才认为进程已经启动
4.2.加载doris_fe.ini
#刷新配置
$ supervisorctl update
#查看状态
$supervisorctl status
如果失败状态,可以先停止fe,然后通过supervisorctl启动fe
$ sh /usr/local/doris/fe/bin/stop_fe.sh
$ supervisorctl start doris_fe
五、配置broker自启
5.1.创建和编辑Broker自启文件 doris_broker.ini
vi /etc/supervisord.d/doris_broker.ini
doris_broker.ini内容
[program:doris_broker]
environment = JAVA_HOME="/usr/lib/jvm/java-1.8.0"
process_name=%(program_name)s ;进程名称
directory=/usr/local/doris/apache_hdfs_broker ;工作目录
command=sh /usr/local/doris/apache_hdfs_broker/bin/start_broker.sh ;运行的命令
autostart=true ;自动开启
autorestart=true ;自动重启
user=root ;用户
numprocs=1 ;进程数
startretries=3 ;启动重试次数
stopasgroup=true ;是否停止子进程
killasgroup=true ;是否杀死子进程
;startsecs=10 ;启动10秒后,如果还是运行状态才认为进程已经启动
5.2.加载doris_broker.ini
#刷新配置
$ supervisorctl update
#查看状态
$supervisorctl status
如果失败状态,可以先停止broker,然后通过supervisorctl启动broker
$ sh /usr/local/doris/apache_hdfs_broker/bin/stop_broker.sh
$ supervisorctl start doris_broker