快速上手 Apache DolphinScheduler

一、概述

分布式易扩展的可视化工作流任务调度平台
Apache DolphinScheduler是一个分布式去中心化,易扩展的可视化DAG工作流任务调度平台。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。

file

Apache DolphinScheduler(目前处在孵化阶段)是一个分布式、去中心化、易扩展的可视化DAG工作流任务调度系统,其致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。

DolphinScheduler是今年(2019年)中国易观公司开源的一个调度系统,在今年美国时间2019年8月29号,易观开源的分布式任务调度引擎DolphinScheduler(原EasyScheduler)正式通过顶级开源组织Apache基金会的投票决议,根据Apache基金会邮件列表显示,在包含11个约束性投票(binding votes)和2个无约束性投票(non-binding votes)的投票全部持赞同意见,无弃权票和反对票,投票顺利通过,这样便以全票通过的优秀表现正式成为了Apache孵化器项目!

file
file
file

非常推荐Apache DolphinScheduler

    —— 调度选的好,下班回家早;调度选的对,半夜安心睡;

Apache DolphinScheduler是一个分布式去中心化,易扩展的可视化DAG工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用,目前已累计有 400+ 公司在生产上使用。

特点

高可靠性

中心化的多Master和多Worker, 自身支持HA功能, 采用任务队列来避免过载,不会造成机器卡死

简单易用

DAG 监控界面,所有流程定义都是可视化,通过拖拽任务定制DAG,通过API方式与第三方系统对接, 一键部署

丰富的使用场景

支持暂停恢复操作. 支持多租户,更好的应对大数据的使用场景. 支持更多的任务类型,如 spark, hive, mr, python, sub_process, shell

高扩展性

支持自定义任务类型,调度器使用分布式调度,调度能力随集群线性增长,Master和Worker支持动态上下线

主要能力

Task以DAG形式关联,实时监控任务的状态。

支持Shell、MR、Spark、SQL、依赖等10多种任务类型。

工作流优先级、任务优先级,全局参数及局部自定义参数

工作流可定时、依赖、手动、暂停/停止/恢复

支持补数、多租户、日志在线查看及资源在线管理

完善的系统服务监控,任务超时告警/失败。

去中心化设计确保系统的稳定、高可用。

支持每日十万数据量级任务稳定运行

设计目标

file

客户案例

file

DolphinScheduler 要解决?

file

多租户管理

file

架构讲解

file

file

二、实战

快速试用 Docker 部署

1、安装compose

sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

[root@centos02 bin]# docker-compose --version
Docker Compose version v2.2.3
[root@centos02 bin]# 
cd /usr/local/bin

[root@centos02 docker-swarm]# pwd
/opt/modules/apache-dolphinscheduler-2.0.5-src/docker/docker-swarm
[root@centos02 docker-swarm]# docker pull dolphinscheduler.docker.scarf.sh/apache/dolphinscheduler:latest
[root@centos02 docker-swarm]# docker-compose up -d

访问:
http://192.168.222.11:12345/dolphinscheduler/ui/view/login/index.html

用户名密码:admin/dolphinscheduler123

file

file

Hive任务节点
file

file

file

三、有赞数据中台架构

file

file

file

file

file

file

file

Airflow VS DolphinScheduler价值评估

file

DS接入架构设计

file

file

改造方案设计-DS工作流定义状态梳理

file

file

file

功能补齐-任务类型适配

file

file
实际生产比较核心的能力

file

现状&规划&展望

file

接入现状

file

这里展示的是,对接的DS(dolphin Scheduler)的API,在用户层面统一使用admin用户

目前使用的是 DS 2.0 版本
file

工作流节点的任务展示:
file

DS2.0 可视化程度会更加的好看
file

期待与展望-DS插件化

file

四、DS在平安的架构重构及落地经验

1、缘起

  • 背景
  • 需求分析

背景

file

需求分析

file

2、调研

  • 选型
  • 需求分析

调研

file

架构分析

file
旧版架构

file
新版架构

注意:EasyScheduler本身不依赖Hadoop、Hive、Spark、PostgreSQL,仅是会调用他们的Client,用于对应任务的运行。

file

file

file

file

1、如何减少扫表,任务如何并发触发
2、任务如何减少阻塞

3、重构

  • 任务触发
  • 任务执行

file

file

file
file

file


相关文章:
工作流任务调度系统:Apache DolphinScheduler
主流大数据调度工具对比DolphinScheduler Azkaban Airflow Oozie Xxl-job

为者常成,行者常至