进度调度系统
背景
有一个Hadoop
集群,用户不断向集群中提交任务
在集群运行过程中提交的任务可能处于等待、执行、执行成功、执行失败中的某个状态
需求
现在使用ZooKeeper
对其进行集中管理,让第一次处理失败的任务回调后再次执行
当一个任务多次失败后,系统将认定次任务存在错误,停止此任务的回调并将其保存下来
执行成功的任务也要被保存下来
设计方案
设定节点/root
为根节点,在此节点下设置4个子节点:
/root/wait
:存储当前系统中处于等待状态和执行状态的节点
/root/processed
:存储已经被正确处理完的任务
/root/temp
:存储第一次执行失败的任务
/root/error
:存储多次执行失败的任务
每个任务以一个子节点的方式存放在对应状态的目录中,节点名称为任务编号(JobID
),存储的值为对应的回调操作的shell
命令
系统结构

网友评论