azkaban-web只能单点部署,因此考虑使用supervisor来启动azkaban-web,即使进程意外挂掉,也能自动重启。
supervisor的基本使用参考:
https://blog.csdn.net/li281037846/article/details/121953589
(1)azkaban不能用后台进程启动
(2)command不能包含多条shell命令,比如command=echo 111 && sh bin/internal/internal-start-web.sh,会被当成echo "111 && sh bin/internal/internal-start-web.sh"执行
(3)shell里面调用java命令启动程序,要用过exec来调用,这样就不会产生新的进程
vim /data/azkaban-3.81.0/azkaban-web-server/build/install/azkaban-web-server/bin/internal/internal-start-web.sh
原:
java $AZKABAN_OPTS $JAVA_LIB_PATH -cp $CLASSPATH azkaban.webapp.AzkabanWebServer -conf $conf $@ &
修改为:
exec java $AZKABAN_OPTS $JAVA_LIB_PATH -cp $CLASSPATH azkaban.webapp.AzkabanWebServer -conf $conf $@2./etc/supervisord.d目录下创建azkaban-web.ini文件
[program:azkaban-web] command=sh bin/internal/internal-start-web.sh directory=/data/azkaban-3.81.0/azkaban-web-server/build/install/azkaban-web-server user=yarn stdout_logfile=/data/azkaban-3.81.0/azkaban-web-server/build/install/azkaban-web-server/logs/webServerLog.log stdout_logfile_maxbytes=100MB autostart=false autorestart=true startretries=3 redirect_stderr=true3.更新配置及启动
supervisorctl update supervisorctl start azkaban-web



