目录
四. Apache DolphinScheduler 单机部署流程
一. Apache DolphinScheduler 背景
2017年,易观在运营自己 6.8Pb 大小、6.02 亿月活、每天近万个调度任务的大数据平台时,受到 ETL (数据仓库技术) 复杂的依赖关系、平台易用性、可维护性及二次开发等方面的问题,技术团队渴望找到一个具有以下功能的数据调度工具:
- 易于使用,开发人员可以通过非常简单的拖拽操作构建ETL过程;
- 不仅对于 ETL 开发人员,无法编写代码的人也可以使用此工具进行 ETL 操作,例如系统管理员和分析师;
- 解决 “复杂任务依赖” 问题,并且可以实时监视 ETL 运行状态;
- 支持多租户;
- 支持许多任务类型:Shell,MR,Spark,Flink,SQL(mysql,postgresql,hive,sparksql,clickhouse等),DataX,Sqoop,Python,Sub_Process,Procedure 等;
- 支持HA和线性可扩展性。
易观技术团队意识到现有开源项目没有能够达到他们要求的,因此决定自行开发这个工具。
他们在2017年底设计了 DolphinScheduler 的主要架构;2018年5月完成第一个内部使用版本,后来又迭代了几个内部版本后,系统逐渐稳定下来。
二. Apache DolphinScheduler 介绍
Apache DolphinScheduler (Incubator,原 Easy Scheduler) 是一个可视化的分布式大数据工作流任务调度系统,DolphinScheduler 致力于“可视化操作工作流(任务)之间的依赖关系,并可视化监控整个数据处理过程”。简称 ”DS” , 中文名 为“小海豚调度”(海豚聪明、人性化,又左右脑可互相换班,终生不用睡觉)。
DolphinScheduler 以有向无环图 (DAG) 的方式将任务组装起来,可实时监控任务的运行状态,同时支持重试、从指定节点恢复失败、暂停及 Kill 任务等操作。
Apache DolphinScheduler 于 17 年在易观数科立项,美国时间 2019 年 8 月 29 号正式通过顶级开源组织 Apache 基金会的投票决议,以全票通过的优秀表现正式成为了 Apache 孵化器项目, 目前已累计有 400+ 公司在生产上使用。
三. Apache DolphinScheduler 特性
高可靠性
去中心化的多 Master 和多 Worker , 自身支持 HA 功能, 采用任务队列来避免过载,不会造成机器卡死;
简单易用
DAG 监控界面,所有流程定义都是可视化,通过拖拽任务完成定制 DAG ,通过 API 方式与第三方系统集成, 一键部署;
丰富的使用场景
支持暂停恢复操作. 支持多租户,更好的应对大数据的使用场景. 支持更多的任务类型,如: Spark, Hive, M/R, Python, Sub_process, Shell;
高扩展性
支持自定义任务类型,调度器使用分布式调度,调度能力随集群线性增长,Master 和 Worker 支持动态上下线;
四. Apache DolphinScheduler 单机部署流程
DolphinScheduler 作为一款开源分布式工作流任务调度系统,可以很好的部署和运行在 Intel 架构服务器环境及主流虚拟化环境下,并支持主流的 Linux 操作系统环境。
1. Linux 操作系统版本要求
操作系统 | 版本 |
---|---|
Red Hat Enterprise Linux | 7.0 及以上 |
CentOS | 7.0 及以上 |
Oracle Enterprise Linux | 7.0 及以上 |
Ubuntu LTS | 16.04 及以上 |
2. 服务器建议配置
DolphinScheduler 支持运行在 Intel x86-64 架构的 64 位通用硬件服务器平台。对生产环境的服务器硬件配置有以下建议:
CPU | 内存 | 硬盘类型 | 网络 | 实例数量 |
---|---|---|---|---|
4核+ | 8 GB+ | SAS | 千兆网卡 | 1+ |
如果服务器硬件配置不符合要求,建议升级服务器配置,不然可能因为配置不够而无法启动,不要问我是怎么知道的······