[Doris宕机自动恢复实践] - 使用supervisor自动拉起doris be, fe, broker

2022-07-24 09:36:38 浏览数 (2)

在安装supervisor后, 添加如下配置

/etc/supervisord.d/doris-fe.ini

代码语言:javascript复制
[program:doris_fe_alive_checker]
command=sh /data/doris-fe/bin/start_fe.sh
process_name=%(program_name)s
numprocs=1
directory=/data/doris-fe/bin/
autostart=true
startsecs=2
startretries=5
autorestart=true
stopwaitsecs=10
stopasgroup=true
exitcodes=0,1
killasgroup=true
user=root
redirect_stderr=true
stdout_logfile=/var/log/supervisor/doris_fe_alive_checker.log
stdout_logfile_maxbytes=20MB
stdout_logfile_backups=10

/etc/supervisord.d/doris-be.ini

代码语言:javascript复制
[program:doris_be_alive_checker]
command=sh /opt/doris-be/bin/start_be.sh
process_name=%(program_name)s
numprocs=1
directory=/opt/doris-be/bin/
autostart=true
startsecs=2
startretries=5
autorestart=true
stopwaitsecs=10
stopasgroup=true
exitcodes=0,1
killasgroup=true
user=root
redirect_stderr=true
stdout_logfile=/opt/supervisor/doris-be.out
stdout_logfile_maxbytes=20MB
stdout_logfile_backups=10

/etc/supervisord.d/doris-broker.ini

代码语言:javascript复制
[program:doris_broker_alive_checker]
command=sh /opt/doris-broker/bin/start_broker.sh
directory=/opt/doris-broker/bin
numprocs=1
process_name=%(program_name)s
autostart=true
startsecs=2
startretries=5
autorestart=true
stopwaitsecs=10
stopasgroup=true
exitcodes=0,1
killasgroup=true
user=root
redirect_stderr=true
stdout_logfile=/opt/supervisor/doris-broker.out
stdout_logfile_maxbytes=20MB
stdout_logfile_backups=10

be、broker通过supervisor插件探活决定是否拉起: /etc/supervisord.d/scripts/config.yaml

代码语言:javascript复制
config:                                          # 脚本配置名称,请勿更改
  supervisord_url: http://localhost:9021/RPC2    # supervisor的rpc接口地址
doris_broker_alive_checker:
  type: TCP
  host: 你的机器ip地址         # 主机地址, 默认: localhost
  port: 8000              # 检测端口,默认: 80
  periodSeconds: 10       # 检查的频率(以秒为单位), 默认: 5
  initialDelaySeconds: 1 # 首次检查等待的时间(以秒为单位), 默认: 1
  timeoutSeconds: 5       # 检查超时的秒数, 默认: 3
  failureThreshold: 3     # 检查成功后,最少连续检查失败多少次才被认定为失败, 默认: 3
  successThreshold: 2     # 失败后检查成功的最小连续成功次数, 默认:1
  action: restart   # 触发的动作: restart,exec,email,wechat (restart和exec互斥,同时设置时restart生效) 默认: restart
  execCmd: command        # action exec 的执行命令
doris_be_alive_checker:
  type: TCP
  host: 你的机器ip地址         # 主机地址, 默认: localhost
  port: 9050              # 检测端口,默认: 80
  periodSeconds: 3       # 检查的频率(以秒为单位), 默认: 5
  initialDelaySeconds: 1 # 首次检查等待的时间(以秒为单位), 默认: 1
  timeoutSeconds: 3       # 检查超时的秒数, 默认: 3
  failureThreshold: 3     # 检查成功后,最少连续检查失败多少次才被认定为失败, 默认: 3
  successThreshold: 2     # 失败后检查成功的最小连续成功次数, 默认:1
  action: restart   # 触发的动作: restart,exec,email,wechat (restart和exec互斥,同时设置时restart生效) 默认: restart
  execCmd: command        # action exec 的执行命令

除了使用原生supervisor宕机自动拉起的功能外, 这里还添加了探活拉起功能. 如果探活fe、be、broker失败后, 也会自动拉起, 不受supervisor拉起最大次数限制.

0 人点赞