容错设计

容错设计

服务器戎机容错

master容错

依赖于zk的watcher机制,实现原理
image
其中master监控其他master和worker的目录,如果监听到remove事件,根据具体业务逻辑进行实例容错或任务实例容错
Master容错流程
image
Master容错完成之后则重新由DolphinScheduler中Scheduler线程调度,遍历 DAG 找到”正在运行”和“提交成功”的任务,对”正在运行”的任务监控其任务实例的状态,对”提交成功”的任务需要判断Task Queue中是否已经存在,如果存在则同样监控任务实例的状态,如果不存在则重新提交任务实例。

worker容错

image

任务重试

  • 任务失败重试:任务级别,调度系统自动进行的,比如一个shell任务设置重试次数为3,那么shell任务运行失败后会再多尝试运行3次
  • 流程失败恢复:流程级别的,是手动进行的,恢复是只能从失败的任务节点开始执行或从当前节点开始执行
  • 流程失败重跑:流程级别的,手动进行的,重跑是从最初的开始节点进行

每一个节点(task)可以配置失败重试的次数,当该任务节点失败,会自动重试。直到成功或者超过配置的次数。如果任务节点达到了最大失败次数,工作流整个失败停止。失败的工作流可以手工重跑或者流程恢复

posted @ 2023-07-05 14:25  SpecialSpeculator  阅读(30)  评论(0编辑  收藏  举报