文件名称:
GIAC架构大会-承载每天万级任务的调度系统架构是如何设计的.pdf
开发工具:
文件大小: 13mb
下载次数: 0
上传时间: 2019-07-07
详细说明:承载每天万级任务的调度系统架构是如何设计的
分布式任务调度系统如何设计?
开源分布式任务调度系统介绍GGIAC
主办方:msp4oes
目前使用 EasySchedulerl的公司部分统计)
Q雪球
鳳凰金融
s
嘀嗒出行
fengjr. com
水滴互助
Vanguard*
华润万家
y速快团
e
Aisino|凹败科辣
航天信息
半云利技
环球易购
bwin. cn
CiC
四万伟业
efonsoft
Gobalegrow E-Commerce
8
育学园
EB
我们一起长大
东信北邮
微未
碳原子
Anewaver
Q
Enable Fin Tech
盒哗啦啦q9
c写&5
软国
新维数联
圈外
GGIAC
主办方:msp4oes
分布式任务调度背景及演进
任务调度系统在大数据平台是一个核心基础设施,数据处理常常依赖链条长
Crontab
Now
Linux、Java等都提供
主流 Azkaban、 Airflow
N年前
利
弊
无缝接入 Hadoop
简单定时需求
复杂工作流灵活配置
配置管理繁琐
实时务监控
失败基本靠手工
失败策略选择
任务管理混乱,出错难査找
任务依赖关系难编排
GGIAC
主办方:msp4oes
为什么要研发 EasyScheduler?
EasyScheduler
Azkaban
Airflow
稳定性
去中心化的多 Master:和多 Worker
是
单点故障
单个Web和调度程序组合节点
单一调度程序
不需要(本身就支持HA)
DB
Celery /Dask/Mesos Load Balancer DB
HA额外要求
任务队列机制,单个机器上可调度的任务数量可以灵活任务太多时会卡死服务器
任务太多时会卡死服务器
过载处理
配置,当任务过多时会缓存在任务队列中,不会造成机
器卡死
易用性
任务状态、任务类型、重试次数、任务运行机器、可视只能看到任务状态
不能直观区分任务类型
DAG监控界面化变量等关键信息一目了然
是
可视化流程定义所有流程定义操作都是可视化的,通过拖拽任务来绘制通过自定义DS绘制DAG并打包上传通过ptom代码来绘制DAG使用不便.特
DAG配置数据源及资源。同时对于第三方系统,提供
别是对不会写代码的业务人员基本无法使用
api方式的操作。
键部署
集群化部署复杂
集群化部署复杂
快速部署
功能
是否能暂停和恢支持暂停,恢复操作
只能先将工作流*再重新运行
只能先将工作流*再重新运行
支持
否
easyscheduler上的用户可以通过租户和hado)户实
是否支持多租户现多对一或一对一的映射关系,这对大数据作业的调度
是非常重要的。
支持传统的she任务,同时支持大数据平台任务调度:|shel、gobn、 hadoopJava、java、he| BashOperator.、 DummyOperator
任务类型
MR、 Spark,、sQu(mysq、 postgresql、hMe、 sparks、卜、p、sark、 hdfsToTeradata、
MySqlOperator、 HiveOperator、
thon、 Procedure、 Sub process
teradata ToHdfs
Emailoperator. HttpopeRatoR
契合度
支持大数琚作业 rk, hive, mr的调度,同时由于支持多由于不支持多租户,在大数据平合业务|由于不支持多租户,在大数据平台业务使用
租户,与大数据业务更加契合
使用不够灵活
不够灵活
扩展性
是否支持自定义是
任务类型
是否支持集群扩是
是,但是复杂
是,但是复杂
调度器使用分布式调度,整体的调度能力会随便集群的 Executor.水平扩展
Executor水平扩展
展
规模线性增长, Maste和 Worker支持动态上下线
GGIAC
主办方:msp4oes
任务调度技术需求
0
可视化DAG
简单易操作
实时查看运行状态
04
每天数万任务运行
任务自依赖
6(02
流程依赖等
调用高可用
流程可容结能力
失败重试、回滚、转移
05
简单可维护
任务写志告警机制
03
便于排若
车富的任务类型
提醒
跨语言
自定义插件机制
Olo
4。后
GGIAC
主办方:msp4oes
EasyScheduler整体架构
RestA接口调用
工作流元数据管理
RPC查询任务日志信息
Masteserver
MasterServer
MasterServer
Distributed Command
Distributed
Command
Quartz
Quartz
Scanner
服务注册、监听、心跳、_A
Command监听
容错、分布式锁
Scheduler
Scheduler
Scheduler
ZK Cluster
Task Queue
DAG切分,监控任务状态
DB告警
Alert
NorkerServer
WorkerServer
WorkerServer
服务注册、监听、心跳、分布式锁
LogRunner
LogRunner
LogRunner
Worker-
Worker-
Worker-
更新Task任务状态
TaskSchedule Thread
TaskScheduleThread
TaskScheduleThread
SUB_FLOW PROCEI
MR
PYTHON
DEPENDENT
GGIAC
主办方:msp4oes
EasyScheduler名词解释
有向无环图,简称DAG
流程定义
流程实例
依赖
子工作流
优先级
spak任务
失败策略
MR
·补数
She任务
mapreduce务
sq任务
Python任务
Procedure任务
DAG示例
GGIAC
主办方:msp4oes
EasyScheduler主要目标
Task以DAG形式关联,实时监控任务的状态
支持 Shell mr、 Spark、SQL、依赖等10多种任务类型
工作流可定时、依赖、手动、暂停/停止/恢复,失败重
试/警、从指定节点恢复、K训任务等操作
工作流优先级、任务优先级,全局参数及局部自定义参
数
任务超时告警/失败
完善的系统服务监控
支持补数、支持多租户、日志在线查看及资源在线管理
支持每日十万数据量级任务稳定运
服务去中心化
GGIAC
主办方:msp4oes
EasyScheduler架构设计
去中心化vS中心化
Server
Server
Master
PK
LDC
lave
Server
Server
Server
Server
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.