Dolphinscheduler源码分析-容错篇

本文深入分析Dolphinscheduler的Master/Worker服务容错机制,包括容错流程、服务启动容错,以及如何处理网络异常和挂掉的服务,确保系统高可用和工作流的顺利执行。
摘要由CSDN通过智能技术生成

DS调度是分布式部署,实现调度和运行隔离,设计了master和worker

  • master负责拆分DAG,监控任务状态,根据依赖条件,提交任务实例。

  • worker负责接收任务消息,执行任务,并将任务执行结果反馈给master。为了实现系统的高可用,设计了master容错和worker容错。

Master/Worker服务容错

master/worker服务通过注册zookeeper临时节点,通过心跳连接来确保其活跃性。一旦master/worker服务挂掉或者网络异常原因,服务会失去zk的连接,触发临时节点的REMOVED事件,这个时候就可以对服务进行容错了。

master容错流程

1.1 . 容错发生

当masterB由于某些原因(ZK连接超时/进程挂掉)不能继续和zk进行心跳通信

  • masterB在zk中的临时节点就会被remove
  • masterA/workerA收到masterB的remove事件
  • 首先将masterB加入到zk的已死队列里(假如masterB进程还在,如果超时重连,检测到已经被其他master/worker判定为已死,就会自动退出进程)
  • 然后将所有masterB正在执行的流程host置为NULL
  • 再向数据库提交一个”恢复容错“消息
  • 由其他master来接手这些流程
1.2 容错执行

当masterC拿到一个恢复容错消息,会遍历此流程的任务,重新监控执行中的任务&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值