azkaban的web-server模块,除了提供管理页面配置,还是定时任务的触发入口,但是官方文档却没有说明是否可以多节点部署(exec-server有明确说能多节点部署)。
看网上有人说azkaban的定时任务是基于Quartz的,可以进行多节点部署,于是试了一下,发现根本不行(3.81.0版本)。启动两个节点会导致定时任务重复执行两次。
查看github issue,发现确实是设计不支持。
然后去看源码,发现默认定时任务根本不是Quartz。。。数据库里面Quartz相关的表都没数据的。不过确实有个参数可以控制是否开启Quartz,但是试了一下发现好多坑,官方文档里面也压根没提到Quartz的。
不过web-server只是负责定时任务而已,不负责具体的任务执行,没啥压力,挂掉的几率应该很低,通过supervisor启动,防止意外挂掉,应该也够用了。