Apache DolphinScheduler 是一个大数据调度任务框架。从当前的CSDN的GitCode的热度来看,其在二月份排名第6位。那是相当的热门的。

image.png

Apache DolphinScheduler 是Apache旗下的开源项目,目前已经被Fork了2700次,Star了7300次;

image.png

这还是相当厉害了!其是一个云原生的可视化的大数据工作流调度系统,其使命就是致力于解决复杂大数据任务依赖,默认就支持多个大数据任务之间的数据操作的编排。


相对于其他的大数据调度框架:


azkaban

Airflow

XxJob

DolphinScheduler 功能强大了不少!其支持的强大功能如下:


本身就支持HA

任务状态、任务类型、重试次数、任务运行机器、可视化变量等关键信息一目了然

任务队列机制,单个机器上可调度的任务数量可以灵活配置,当任务过多时会缓存在任务队列中,不会造成机器卡死

任务状态、任务类型、重试次数、任务运行机器、可视化变量等关键信息一目了然

所有流程定义操作都是可视化的,通过拖拽任务来绘制DAG,配置数据源及资源。同时对于第三方系统,提供api方式的操作。

一键部署

支持暂停,恢复操作

easyscheduler上的用户可以通过租户和hadoop用户实现多对一或一对一的映射关系,这对大数据作业的调度是非常重要的。

支持传统的shell任务,同时支持大数据平台任务调度: MR、Spark、SQL(mysql、postgresql、hive、sparksql)、Python、Procedure、Sub_Process

调度器使用分布式调度,整体的调度能力会随便集群的规模线性增长,Master和Worker支持动态上下线

其基本架构如下,从下图可以看出,其主要包括下面的组件:


UI

API 网关

Master 服务器

Worker 服务器

DB(MySQL,PostgreSQL)

Zookeeper

image.png

其启动流程活动图如下:

image.png

DolphinScheduler提供3种部署模式:

1. 单节点部署模式

主要是看看DolphinScheduler提供了哪些功能,感受一下DolphinScheduler的功能


伪集群模式

在单一服务器上部署多个集群,在测试环境下经常用到此模式,其需要连接数据库


在生产环境部署

支持两个模式:

3.1 在多个服务器上集群部署

3.2 在K8S里面部署


下面笔者部署一个简单的单节点服务器(笔者的机器是CentOs 7 64bit):

步骤1 下载并安装JDK 1.8+

步骤2 下载DolphinScheduler

当前的最新版本是2.0.3

image.png


wget https://dlcdn.apache.org/dolphinscheduler/2.0.3/apache-dolphinscheduler-2.0.3-bin.tar.gz –no-check-certificate

步骤3 解压缩tar包并启动

tar -xvzf apache-dolphinscheduler-*-bin.tar.gz

cd apache-dolphinscheduler-*-bin

sh ./bin/dolphinscheduler-daemon.sh start standalone-server

步骤4 输入地址 http://<host_name>:12345/dolphinscheduler

默认密码是: admin/dolphinscheduler123

步骤5 查看主界面

image.png

步骤6 创建项目并定义工作流

image.png

从工作流的工具栏来看,其支持:

Shell

SUB_Process

Procedure

SQL

Spark

Flink

MR

Python

Dependent

HTTP

DATAX

PEGEON

SQOOP

Conditions

Switch

WATERDROP

由此可见,其支持的大数据的功能模块还是非常丰富多彩的!

另外值得一提的是,其也支持多租户! 这在一些业务环境里面还是非常有用的!

image.png

————————————————

版权声明:本文为CSDN博主「大象无形,大音希声」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/chancein007/article/details/122775062