中台服务并行启动/停止/重启

停止

在服务部署的机器需要停机的情况下,需要停止服务,再关机。

对外部署基本上除了本身不支持高可用的服务,所有服务都部署了双节点,且都在一对机器上。

两个机器都需要关机

服务级别,先停服azkaban,使调度任务不会因为依赖的服务停服而失败,导致频繁发送报警

剩余服务可服务级别并行停服

其中一个机器需要关机

如果azkaban的exec在这个机器上,可以先切断任务分发到此机器的流量

登录azkaban数据库

UPDATE executors SET weight = 0 where host='changeit'

其他服务在组件级别停服部署在该机器的节点,nginx会分发请求到可用节点

启动

服务级别处于停服状态

服务可服务级别并行启动,在确保mammut, easy_console,bdms_meta启动完成后,启动azkaban (过早启动azkaban, 因为依赖服务不可用会导致任务失败频繁发送报警)

组件级别处于停服状态

azkaban服务组件级别启动, azkaban exec 启动完成后,恢复任务分发到此机器的流量

登录azkaban数据库

UPDATE executors SET weight = 1 where host='changeit'

Mammut exec 组件启动完成后,再启动 mammut webserver, 完成后之前未停服的webserver重启下

其他服务在组件级别启动部署在该机器的节点,nginx会分发请求到可用节点

重启

并行重启的场景未及