欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年SkyNet任务调度监控系统-概要设计 .pdf

    • 资源ID:35293194       资源大小:608.95KB        全文页数:28页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年SkyNet任务调度监控系统-概要设计 .pdf

    SkyNet任务调度监控系统当前版本V0.0.1 作者刘晓文名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 28 页 - - - - - - - - - 修改记录更新时间版本修订人修改内容2014/12/30 V0.0.1 刘晓文初始创建2015/5/4 V0.0.2 刘晓文元数据、名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 28 页 - - - - - - - - - 目录一、设计目的 . 4二、整体架构 . 62.1 SkyNet 核心功能 . 62.2 SkyNet 核心组件 . 7三、Job元数据 . 73.1 Job配置表 . 73.2 Job依赖配置表 . 83.3 Job运行历史表 . 83.4 资源配置表 . 83.5 告警配置表 . 93.6 告警发送记录表. 93.7 正在运行Job . 93.8 任务池表 . 10 3.9 等待任务表 . 10 3.10 序列表 . 11 3.11 Job 状态视图 . 12 3.12 用户表 . 13 3.13 业务类型配置表. 13 3.14 资源健康状态表. 14 四、JobClient . 14 五、JobManager (Master) . 14 5.1 RPCServer . 14 5.2 数据库管理服务类. 15 5.3 资源管理服务. 15 5.4 Job依赖关系维护 . 16 5.5 定时调度器 . 17 5.6 Job监控 . 17 5.7 告警服务 . 17 5.8 初始化流程 . 17 5.9 启动流程 . 17 5.10 成功 Job 处理流程 . 18 5.11 失败 Job 处理流程 . 18 六、JobWorker (Slave) . 18 6.1 内存数据结构. 18 6.2 定期从获取可以运行的Job . 18 6.3 执行 Job . 18 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 28 页 - - - - - - - - - 七、核心流程图 . 18 7.1 Job维护流程 . 18 7.2 Job依赖维护流程 . 20 7.3 资源维护流程. 21 7.4 Job提交流程 . 22 7.5 Job执行流程 . 23 7.6 Job监控流程 . 23 八、SkyNet后台部署与运行. 25 8.1 安装 . 25 8.2 数据库建库建表. 25 8.3 配置 . 25 8.4 运行 . 26 8.5 停止 . 26 九、SkyNet前端部署与运行. 26 9.1 安装 . 26 9.2 配置 . 27 9.3 运行 . 27 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 28 页 - - - - - - - - - 一、 设计目的目前整个数据平台的任务调度非常粗糙,基本仅靠 Crontab来定时运行,日志清洗、日志校验、数据分析、 入库各模块之间无有效依赖,经常由于前置任务出错或者未完成,后续的任务运行出错,并且对任务出错的监控不到位, 造成分析数据不能及时入库, 导致线上 BUG。真实业务场景下合理的任务运行图:(图一)1. 定时触发一个日志校验的Job,去检查清洗后的日志是否已经就绪;2. 分析的 JOB均依赖日志校验的Job,一旦日志校验的Job执行成功,则并发启动依赖其的分析Job1-4 ;3. 入库 JOB1依赖分析 JOB1和分析 JOB2 ,如果这两个分析JOB全部执行成功,则启动执行入库JOB1 ;4. 对于入库 JOB2 ,如果分析 JOB3和分析 JOB4有一个未成功执行,则入库 JOB2就不执行;一个复杂的任务依赖图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 28 页 - - - - - - - - - 为了解决数据平台ETL任务的稳定性, 时效性,因此设计开发 SkyNet任务调度系统,旨在解决任务的统一配置,统一调度,统一监控告警等功能,减少开发人员的开发和维护成本,提高平台的稳定性。012345678910名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 28 页 - - - - - - - - - 二、 整体架构2.1 SkyNet核心功能1. Job维护:添加、修改、删除、杀死Job;2. Job依赖关系维护:添加、修改、删除Job 之间的依赖关系;3. 查询类:查询 Job列表、根据状态查询Job列表、查询 Job的父子依赖等;4. 资源维护:添加、修改、删除资源,查询资源列表;5. Job触发:支持定时、依赖、手工触发调度Job;6.任务失败告警:当任务失败或者某个时间点未成功结束时,触发邮件和短信报警;7.支持任务类型包括:shell、python、MapReduce、Hive、DataHub 任务的调度及监控;8.可扩展性: Slave ( JobWorker)可根据需要随时扩充;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 28 页 - - - - - - - - - 2.2 SkyNet核心组件1.元数据库: Mysql,保存 Job的配置、依赖关系、运行历史、资源配置、告警配置等;2.JobClient :SkyNet客户端类,对外的唯一接口;3.JobManager:SkyNet的 Master,提供 RPC服务,接收并处理JobClient提交的所有操作;与元数据库通讯, 维护 Job元数据;负责任务的统一配置维护、触发、调度、监控;4.JobMonitor: 监控正在运行的Job 状态、监控任务池、监控等待运行的Job;5.JobWorker:SkyNet的 Slave ,从任务池中获取Job、负责启动并收集Job的执行状态,以心跳方式发送给JobManager ;以上各组件下文中详细介绍。三、 Job 元数据元数据存储于 Mysql,数据库名 skynet. CREATE DATABASE skynet DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 3.1 Job配置表DROP TABLE IF EXISTS dmp_job; CREATE TABLE dmp_job ( job_id INT NOT NULL, job_create_time DATETIME NOT NULL, job_last_update_time DATETIME NOT NULL, job_name VARCHAR(200) NOT NULL, job_type VARCHAR(20) NOT NULL COMMENT JOB类型: SHELL,HIVE,MR,JAVA,etc., job_app_location VARCHAR(500) NOT NULL COMMENT JOB程序文件路径, job_class_name VARCHAR(200) COMMENT JOB 类名 , job_run_args VARCHAR(500) COMMENT JOB 运行参数 , job_run_cron VARCHAR(20) COMMENT JOB 定时运行quartz 表达式 , job_business_type VARCHAR(200) NOT NULL COMMENT JOB 业务类型,如:DAP ,UT,etc., job_comment VARCHAR(4000) COMMENT JOB 备注信息 , job_period INT DEFAULT 0 COMMENT JOB 运行周期 ,0:天,1:小时 , job_special_host VARCHAR(100) COMMENT JOB 指定运行的HOST, job_business_time VARCHAR(50) COMMENT JOB业务日期格式, job_retry_cnt INT DEFAULT 0 COMMENT 失败重试次数 , 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 28 页 - - - - - - - - - job_retry_interval INT DEFAULT 60 COMMENT 失败重试间隔(秒 ), job_final_command VARCHAR(500) COMMENT 任务完成后执行命令, PRIMARY KEY (job_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 3.2 Job依赖配置表DROP TABLE IF EXISTS dmp_job_dependence; CREATE TABLE dmp_job_dependence( parent_job_id INT NOT NULL, son_job_id INT NOT NULL, PRIMARY KEY (parent_job_id,son_job_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 3.3 Job运行历史表DROP TABLE IF EXISTS dmp_job_log; CREATE TABLE dmp_job_log ( job_instance_id BIGINT NOT NULL, job_id INT NOT NULL, create_time datetime NOT NULL COMMENT 记录创建时间, job_run_host VARCHAR(50) NOT NULL COMMENT job 运行主机 , job_status VARCHAR(20) NOT NULL COMMENT job 运行状态 , job_business_time VARCHAR(20) COMMENT job运行业务日期 , job_start_timedatetime COMMENT job开始运行时间, job_end_timedatetime COMMENT job运行结束时间, job_run_log VARCHAR(200) COMMENT job 运行日志文件 , job_submit_flag INT COMMENT job 提交标记, 0:自动 ;1:手动 , job_batch_no BIGINT DEFAULT 0 COMMENT job运行批次号 , INDEX job_instance_id (job_instance_id), INDEX job_id (job_id), INDEX job_business_time (job_business_time), INDEX create_time (create_time), INDEX job_status (job_status) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 3.4 资源配置表DROP TABLE IF EXISTS dmp_resource_config; CREATE TABLE dmp_resource_config ( hostname VARCHAR(100) NOT NULL COMMENT 主机名 /IP, job_type VARCHAR(50) NOT NULL COMMENT 可运行的JOB类型 , 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 28 页 - - - - - - - - - max_job_count INT NOT NULL COMMENT 该类型可运行的最大任务数, running_job_count INT COMMENT 表示已分配出去的任务数, is_special INT default 0 comment 是否特定的资源, PRIMARY KEY (hostname,job_type) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 3.5 告警配置表DROP TABLE IF EXISTS dmp_alarm_config; CREATE TABLE dmp_alarm_config ( job_id INT NOT NULL, alarm_flag INT NOT NULL DEFAULT 0 COMMENT 0:失败告警, 1:指定时间未成功结束告警;, alarm_time VARCHAR(20) COMMENT 当alarm_type = 1 时,设定告警时间,格式为: HH:mm:ss, alarm_type INT NOT NULL DEFAULT 0 COMMENT 0:邮件告警, 1:短信告警, 2:邮件和短信告警;, alarm_mail_list VARCHAR(2000) COMMENT 邮件告警收件人列表,分号分隔 , alarm_mobile_list VARCHAR(2000) COMMENT 短信告警收信人手机号列表,分号分隔, PRIMARY KEY (job_id,alarm_flag) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 3.6 告警发送记录表DROP TABLE IF EXISTS dmp_alarm_log; CREATE TABLE dmp_alarm_log ( job_id INT NOT NULL, alarm_flag INT DEFAULT 0 COMMENT 0: 失败告警, 1:指定时间未成功结束告警;, alarm_timedatetime NOT NULL COMMENT 告警时间 , alarm_status INT NOT NULL COMMENT 告警发送结果,0:成功, 1:失败 ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 3.7 正在运行Job 保存正在运行的job,当 job 结束后,从该表中删除。DROP TABLE IF EXISTS dmp_running_job; CREATE TABLE dmp_running_job ( job_instance_id BIGINT NOT NULL, job_id INT NOT NULL, create_time datetime NOT NULL COMMENT 记录创建时间, job_last_update_timedatetime NOT NULL COMMENT 上次更新状态的时间, job_run_host VARCHAR(50) NOT NULL COMMENT job 运行主机 , 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 28 页 - - - - - - - - - job_status VARCHAR(20) NOT NULL COMMENT job 运行状态 , job_business_time VARCHAR(20) COMMENT job运行业务日期 , job_start_timedatetime COMMENT job开始运行时间, job_end_timedatetime COMMENT job运行结束时间, job_run_log VARCHAR(200) COMMENT job 运行日志文件 , job_submit_flag INT NOT NULL DEFAULT 0 COMMENT 0: 自动提交; 1:手动提交 , job_batch_no BIGINT DEFAULT 0 COMMENT job运行批次号 , PRIMARY KEY (job_instance_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 3.8 任务池表用于存放等待JobWorker 获取的 Job DROP TABLE IF EXISTS dmp_job_pool; CREATE TABLE dmp_job_pool ( job_instance_id BIGINT NOT NULL, job_id INT NOT NULL, create_time datetime NOT NULL COMMENT 记录创建时间, job_run_host VARCHAR(50) NOT NULL COMMENT job 运行主机 , job_business_time VARCHAR(20) COMMENT job运行业务日期 , job_action INT NOT NULL DEFAULT 0 COMMENT 0: 运行任务 ;1:kill 任务 , job_submit_flag INT NOT NULL DEFAULT 0 COMMENT 0: 自动提交; 1:手动提交 , job_is_geted INT NOT NULL DEFAULT 0 COMMENT 0: 未被 JobWorker 拿走;1:已经被 JobWorker拿走 , job_batch_no BIGINT DEFAULT 0 COMMENT job运行批次号 , PRIMARY KEY (job_instance_id), INDEX job_run_host (job_run_host) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 3.9 等待任务表存放等待运行的job,标记出是没资源,还是父任务未全部完成DROP TABLE IF EXISTS dmp_waitting_job; CREATE TABLE dmp_waitting_job ( job_instance_id BIGINT NOT NULL, job_id INT NOT NULL, create_time datetime NOT NULL COMMENT 记录创建时间, job_business_time VARCHAR(20) COMMENT job运行业务日期 , job_wait_flag INT NOT NULL COMMENT 0:没有资源 ;1:父任务未全部完成, job_submit_flag INT NOT NULL DEFAULT 0 COMMENT 0: 自动提交; 1:手动提交 , 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 28 页 - - - - - - - - - job_batch_no BIGINT DEFAULT 0 COMMENT job运行批次号 , PRIMARY KEY (job_instance_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 3.10 序列表-实现序列的功能drop table if exists dmp_seq; create table dmp_seq ( seq_name VARCHAR(50) NOT NULL COMMENT 序列名称 , current_val BIGINT NOT NULL COMMENT 当前值 , increment_val INT NOT NULL DEFAULT 1 COMMENT 步长 (跨度 ), PRIMARY KEY (seq_name) ); INSERT INTO dmp_seq (seq_name,current_val) VALUES(job_id,1000); INSERT INTO dmp_seq (seq_name,current_val) VALUES(job_instance_id,25000); INSERT INTO dmp_seq (seq_name,current_val) VALUES(job_batch_no,1200); DELIMITER $ create function currval(v_seq_name VARCHAR(50) returns integer begin declare value integer; set value = 0; selectcurrent_val into value fromdmp_seq whereseq_name = v_seq_name; return value; end$ DELIMITER $ CREATE function nextval (v_seq_nameVARCHAR(50) returns integer begin updatedmp_seq setcurrent_val = current_val + increment_val whereseq_name = v_seq_name; returncurrval(v_seq_name); end$ DELIMITER $ create function setval(v_seq_name VARCHAR(50), v_new_val INTEGER) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 28 页 - - - - - - - - - returns integer begin updatedmp_seq setcurrent_val = v_new_val whereseq_name = v_seq_name; returncurrval(v_seq_name); end$ 3.11 Job状态视图CREATE or replace view v_job_status1 as selecta.job_id, a.job_instance_id, a.create_time, null as job_run_host, WAITTING as job_status, a.job_business_time, null as job_start_time, null as job_end_time, null as job_run_log, a.job_submit_flag, a.job_wait_flag, 1 as odr fromdmp_waitting_job a union all selectb.job_id, b.job_instance_id, b.create_time, b.job_run_host, b.job_status, b.job_business_time, b.job_start_time, b.job_end_time, b.job_run_log, b.job_submit_flag, null as job_wait_flag, 2 as odr fromdmp_job_log b union all selectc.job_id, c.job_instance_id, c.create_time, 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 28 页 - - - - - - - - - c.job_run_host, c.job_status, c.job_business_time, c.job_start_time, c.job_end_time, c.job_run_log, c.job_submit_flag, null as job_wait_flag, 3 as odr fromdmp_running_job c; CREATE or replace view v_job_status as SELECT a.*,b.job_name,b.job_type,b.job_business_type FROM v_job_status1 a join dmp_job b ON (a.job_id = b.job_id); 3.12 用户表DROP TABLE IF EXISTS dmp_user; CREATE TABLE dmp_user ( username VARCHAR(100) NOT NULL, password VARCHAR(100) NOT NULL, createtime DATETIME NOT NULL, user_role VARCHAR(100), job_business_type VARCHAR(200) NOT NULL COMMENT JOB 业务类型,如:DAP ,UT,etc., PRIMARY KEY (username) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 3.13 业务类型配置表DROP TABLE IF EXISTS dmp_job_buseinss_type; CREATE TABLE dmp_job_buseinss_type( job_business_type VARCHAR(100) NOT NULL, user_name VARCHAR(100) NOT NULL COMMENT 业务类型使用的用户名, hadoop_resource_pool VARCHAR(100) COMMENT hadoop 资源池 , PRIMARY KEY (job_business_type) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 28 页 - - - - - - - - - 3.14 资源健康状态表DROP TABLE IF EXISTS dmp_resource_healthy; CREATE TABLE dmp_resource_healthy ( hostname VARCHAR(100) NOT NULL COMMENT 主机名 /IP, last_update_timedatetime COMMENT 上次心跳时间, flag INT DEFAULT 0 COMMENT 0:jobworker,1:jobmanager, PRIMARY KEY (hostname,flag) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 四、 JobClient 1. 用户与系统交互的唯一接口;2. 封装提供给用户使用的所有接口,单例模式,使用时候指定JobManager的 RPC hostname 和端口号;JobClientjc = JobClient.getInstance( lxw-PC , 2234);3. 拥有JobManager 的 RPC 代理,将用户提交的操作通过RPC 调用JobManager的相应接口进行处理;4. 提供的接口包括:操作 Job,包括增加,修改,删除,运行,杀死Job等;维护 Job依赖关系;配置、查询资源;查询 Job信息,包括指定条件查询,如状态,JobID,时间等;查询 Job依赖;五、 JobManager (Master) SkyNet 调度系统的 Master 节点,负责所有任务的调度,分发,状态跟踪,报警,资源管理等。5.1 RPCServer JobManager自身为一个 RPCServer ,为 JobClient提供调用接口;为 JobClient提供的 RPC接口:Job操作类接口:保存Job,根据 JobID获取 Job ,获取所有 Job,获取新的 JobID ,删除 Job ;Job依赖关系维护接口: 添加、删除 Job依赖,查询 Job的父子依赖;查询类接口;查询正在运行的Job,查询 Job的历史运行,查询一个名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 28 页 - - - - - - - - - 时间段内的 Job等;维护类接口:停止JobManager,添加、修改、删除资源,获取资源列表;5.2 数据库管理服务类JobStoreManager,封装所有与元数据库通讯的接口,用于 Job 元数据的持久化和查询。使用数据库链接池;接口列表:5.3 资源管理服务ResourceManager ,负责 Job 资源的计算和分配;资源包括:主机名 /IP ,可运行的任务类型,最大运行的任务数量;初始化将资源配置表中已分配的Job 数全部设为 0;资源申请流程:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 28 页 - - - - - - - - - ResourceManager收到资源请求之后从资源配置表中计算得出合适的资源资源配置表JobManager申请资源返回资源根据 Job类型,首先从资源配置表中获取可以运行该类型Job 的节点、最多可运行的 Job 数量、已分配出去的Job数量;从上面获取的节点中取(max_job_count running_job_count ) 0,并按照(max_job_count running_job_count )降序排列,取第一条记录;如果有返回主机名,表示有资源,则将该资源已分配Job数量 +1;返回主机名;如果没有记录返回,则表示没有资源,返回null;资源释放流程:ResourceManager更新资源配置表中相应的资源数资源配置表JobManager释放资源根据传入的hostname 和 job_type , 将资源配置表中该记录已分配Job 数量 -1;5.4 Job依赖关系维护Neo4jService使用 Neo4j 保存任务的依赖关系,供查询使用;当 Job 的依赖关系发生变化时,需要在Neo4j 中做相应的维护;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 28 页 - - - - - - - - - 5.5 定时调度器QuartzService 维护定时运行的 Job,当 Job到达任务触发时间时,提交Job运行;5.6 Job监控监控超时未成功执行的Job,触发告警(可依靠Quartz 定时触发) ;监控正在运行的 Job列表,当 Job长时间未更新时,做相应处理;监控待运行 Job队列,并尝试提交Job;监控任务池,从任务池中删除被拿走的Job;5.7 告警服务提供告警服务,目前只提供邮件告警服务5.8 初始化流程获取 RPC host&port :从配置文件 conf/master.xml 中获取;构建 RPCServer ;初始化 Neo4j 服务;从数据库中初始化加载所有Job;从数据库中初始化job 依赖;初始化资源管理服务;构建 Quartz 服务;5.9 启动流程初始化;启动 jobManagerRPCServer;registerShutdownHook ;启动 Neo4j 服务线程;启动 Quartz 服务线程;启动 Job 监控线程;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 28 页 - - - - - - - - - 5.10 成功 Job处理流程更新 Job 状态;获取该 Job的一级子Job,分别检查子Job的其他父Job,如果父 Job 全部完成,则提交该 Job 运行;如果有父Job 未完成,则将该Job 加入因前置Job未全部完成而等待运行的Job 队列5.11 失败 Job处理流程更新 Job 状态;告警;六、 JobWorker(Slave) 6.1 内存数据结构正在运行的JobExecutor 列表;6.2 定期从获取可以运行的Job 定期从任务池获取可以运行的Job 定期汇总各个Job 状态,并更新;6.3 执行 Job 根据 Job 类型,构建相应的JobExecutor,执行并收集Job执行日志;七、 核心流程图7.1 Job维护流程添加、修改Job 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 28 页 - - - - - - - - - JobClient(JobManager Proxy)JobManager添加、修改JobJob配置表维护内存数据结构neo4j是否定时任务添加至 Quartz 调度器Y结束N删除 Job JobClient(JobManager Proxy)删除 JobJobManager是否有依赖 JobY返回错误维护内存数据结构neo4jN是否定时任务从 Quartz 中删除Y从Job配置表中删除N结束名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 28 页 - - - - - - - - - 7.2 Job依赖维护流程添加 Job 依赖JobClient(JobManager Proxy)JobManager添加依赖Job依赖配置表添加至 neo4jJob是否存在YN结束删除 Job 依赖JobClient(JobManager Proxy)JobManager删除依赖子Job是否被依赖Y从neo4j 中删除NJob依赖配置表中删除结束名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 28 页 - - - - - - - - - 7.3 资源维护流程添加、修改资源JobClient(JobManager Proxy)JobManager添加、修改资源资源是否存在YN结束资源配置表添加资源配置表修改删除资源JobClient(JobManager Proxy)JobManager删除资源资源配置表删除结束名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 28 页 - - - -

    注意事项

    本文(2022年SkyNet任务调度监控系统-概要设计 .pdf)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开