离线数据开发之任务调度系统
大数据调度系统的由来
1)大数据下,调度系统时整个大数据体系的指挥中心,负责合理的调配资源。
2)在调度系统中各类任务互相依赖,形成一个有向无环图。
3)传统的数据仓库是依靠定时任务的方式进行调度,这种方式存在几个缺点:
① 任务调度依据时间,造成前一个任务未完成而后面的任务已经开始
② 任务难以并发,难以设置优先级
③ 任务管理维护比方便
4)大数据下数据量巨大,同时任务种类繁多,如MapReduce,hive,spark等,为了解决以上问题,大数据任务调度系统应运而生
调度系统设计模型
1)调度系统的构成:
2)调度系统的重要概念:
① 任务状态机模型:描述任务节点在生命周期中的状态
② 工作流状态机模型:描述任务节点在由调度树生成的工作流在运行时的不同状态
3)调度引擎的工作原理
基于任务状态机模型、工作流状态机模型,以事件驱动的方式运行,为任务节点生成实例,并在调度树中生成工作流。任务节点示实例在工作流状态机、工作流状态机和事件处理器之间转换。重要组件如下:
① Async Dispatcher:异步处理任务调度
② Sync Dispatcher:同步处理任务调度
③ Task 事件处理器:与任务状态机交互
④ DAG 事件处理器:与工作流状态机交互
4)执行引擎的工作原理
由三部分组成,服务接口、服务实现、task
① 服务接口:
任务管理接口:进行集群任务管理
系统管理接口:进行集群资源管理
② 服务实现:
- Driver:
Task pool:
- ResourceManager:整个集群的资源管理
TaskContainer:为Task执行提供载体
- session manager:实现对task session 的管理
node:集群中的节点,提供物理资源
③ task
批处理任务或者流处理任务会提交给对应的平台进行处理,其他如shell、数据同步等任务会在调度系统中直接执行
离线数据开发之任务调度系统相关推荐
- 大数据之路—— 离线数据开发
四.数据技术篇-- 离线数据开发 4.1 数据开发平台 4.1.1 统一计算平台@ 4.1.2 统一开发平台 4.2 任务调度 4.2.1 核心设计模型 4.2.2 任务状态机模型@ 4.2.3 工作 ...
- 大数据分布式工作流任务调度系统DolphinScheduler v1.3.4
简介: Apache DolphinScheduler(incubator,原EasyScheduler)是一个大数据分布式工作流任务调度系统,主要解决大数据研发过程中ETL处理错综复杂的依赖关系,而 ...
- 大数据开发:MongoDB系统架构简介
MongoDB作为NoSQL数据库,基于分布式环境的场景下,对于系统架构的性能是要求比较高的.面对分布式场景下的大规模数据存储,MongoDB以文档型存储任务为主.今天的大数据开发学习分享,我们就来讲 ...
- 大数据开发架构——调度系统的分类解析
调度系统的分类解析 一.什么是调度系统 二.为什么需要调度系统 三.调度系统的两大种类 1.资源调度系统 2.作业调度系统 四.作业调度系统的两大种类 1.定时分片类作业调度系统 2.DAG工作流类调 ...
- hadoop数仓建设之离线数据开发
- 浅谈数据开发神器——数栈离线开发平台(BatchWorks)
数栈是云原生-站式数据中台PaaS,我们在github和gitee上有一个有趣的开源项目:FlinkX,FlinkX是一个基于Flink的批流统一的数据同步工具,既可以采集静态的数据,也可以采集实时变 ...
- 【数仓】离线和实时数据开发-《大数据之路》读书笔记
今天更新<大数据之路>第 4 章和第 5 章,离线数据开发以及实时技术.关注公众号回复 802 获取 pdf.其他章节更新中.可以点击这里查看其他章节. 前面的文章讲述了日志文件和 ...
- 离线与实时数据开发方案
1.离线数据开发架构 (1)离线数据接入 离线数据来源:MongoDB.MySQL.SQL_Server.Oracle.Log.HBase.Elasticsearch 接入处理:根据不同数据源做适配 ...
- java毕业设计—— 基于java+JSP+SSH的任务调度系统设计与实现(毕业论文+程序源码)——任务调度系统
基于java+JSP+SSH的任务调度系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+JSP+SSH的任务调度系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦. ...
- 神州信息“六合上甲”一体化数据开发平台全面数智升级!
4月25日,由TECH数字中国技术年会焕新升级而来的"数云原力大会暨2023TECH第五届数字中国技术年会"盛大开启,神州信息升级发布"六合上甲"一体化数据智能 ...
最新文章
- Go 学习笔记(72)— Go 第三方库之 pkg/errors 带堆栈的错误处理
- 学习java的一些笔记(8)
- VS Code 1.29 发布,众多新功能有没有你想要的?
- 用dreamweaver cs6快速布局后台架构_后台系统:产品设计 | 七步法
- 小技巧,怎么让MFC的MDI程序子窗口看起来有扁平的效果
- 对安卓应用进行加固签名,为上架各大应用市场做准备
- 前端学习(1809):前端调试之微博头部开发
- crontrigger java,CronTrigger
- java textfield方法,Java TextField求教育
- Java this, super深入理解
- python就业前景不好_python哪个方向容易就业
- timesten mysql_TimesTen进程种类详解
- JEB动态调试与篡改攻防世界Ph0en1x-100
- 搜索引擎-应用篇(地理位置查询)
- [MATLAB]S函数
- Linux中ibus输入法中全拼和双拼的问题+解决VNCserver切换不成功问题
- 大卫·希尔伯特:数学界的无冕之王
- ZZULI-2019年3月份月赛(个人赛)问题 I: 小P找座位 思维or矩阵快速幂
- 文化与科技的交织,华为P50 Pro与一曲长城谣
- 流量互点PHP源码,点击量软件-求一个网页可以增加流量的软件?要释放。 。 。自由...
热门文章
- 计算机网络实验双绞线制作,实验一 双绞线制作实验报告
- 普通住宅和商住公寓购房扫盲
- 修改Fedora 18的窗口背景颜色为浅绿色
- idea或者goland更改主题颜色背景颜色
- 【云流送技术】为手办行业可以带来哪些变革
- Python实现自动通关别踩白块儿
- 苹果手机上网很慢_手机信号满格,4G上网速度却很慢?你可能需要这样做了
- 永中office属于职称计算机吗,永中office
- 202.Wex5开发环境的安装与基本使用 2019.08.29
- hive执行insert overwrite失败,报错 could notbe cleaned up错误