容错设计
容错设计
服务器戎机容错
master容错
依赖于zk的watcher机制,实现原理
其中master监控其他master和worker的目录,如果监听到remove事件,根据具体业务逻辑进行实例容错或任务实例容错
Master容错流程
Master容错完成之后则重新由DolphinScheduler中Scheduler线程调度,遍历 DAG 找到”正在运行”和“提交成功”的任务,对”正在运行”的任务监控其任务实例的状态,对”提交成功”的任务需要判断Task Queue中是否已经存在,如果存在则同样监控任务实例的状态,如果不存在则重新提交任务实例。
worker容错
任务重试
- 任务失败重试:任务级别,调度系统自动进行的,比如一个shell任务设置重试次数为3,那么shell任务运行失败后会再多尝试运行3次
- 流程失败恢复:流程级别的,是手动进行的,恢复是只能从失败的任务节点开始执行或从当前节点开始执行
- 流程失败重跑:流程级别的,手动进行的,重跑是从最初的开始节点进行
每一个节点(task)可以配置失败重试的次数,当该任务节点失败,会自动重试。直到成功或者超过配置的次数。如果任务节点达到了最大失败次数,工作流整个失败停止。失败的工作流可以手工重跑或者流程恢复
原创:做时间的朋友
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示