龙空技术网

调度系统选择太多?推荐您 DolphinScheduler

架构漫谈 841

前言:

眼前同学们对“python调度kettle”大概比较注重,大家都需要了解一些“python调度kettle”的相关知识。那么小编在网上网罗了一些关于“python调度kettle””的相关知识,希望大家能喜欢,大家一起来学习一下吧!

说起调度系统,市面上有很多选择:

- linux自带crontab,可以简单启动定时任务

- java知名的quartz框架,可以与spring简单整合,是早期的首选

- 国内开源的 xxl-job、elasticjob 是后期之秀,解决了一些痛点,有一定用户群

而到了大数据领域,由于需要跟mapreduce、spark等大数据框架整合,也有一些选择:

- oozie是相对重的一些选择,配置丰富

- azkaban是后来兴起的框架,可能大部分大数据部门一直在用

- 后来出现了airflow,拥有一些拥趸

除此之外,kettle作为ETL工具提供了简单调度;spring batch作为一个批处理框架,也有用作调度。

今天小编介绍一款国人的新型调度工具:DolphinScheduler

目前小编所在团队已经使用了一段时间,相比上述已有选择有一定的优势。

该调度工具早已经是Apache的孵化项目了,有望成为正式项目,可能是既 Skywalking后的又一个国人力作![鼓掌]

简介:

简单来说,DolphinScheduler是一个分布式的、可视化的(所有流程都可以拖拉拽)的工作流调度系统。

主要特色:

整体架构图:

在大数据调度领域,为什么选择DolphinScheduler,而不是已有的 Azkaban / Airflow ?[what]

个人觉得主要还是这几个点:

- 一是分布式和高可用比较简单,相对其他框架配置起来容易,运维也就容易[灵光一闪]

- 可视化的DAG,基于vue做的前端,拖拉拽配置DAG,比起配置 yml、xml、properties 还是容易[鼓掌]

- 支持的数据源也不错。 支持flink、支持datax、支持clickhouse 等比较新型的技术

- 性能不错

- java写的源码,二次开发容易;而且社区确实看出来是用心在运营,不愁生态圈。

DolphineScheduler主要功能特性:

* 以DAG图的方式将Task按照任务的依赖关系关联起来,可实时可视化监控任务的运行状态

* 支持丰富的任务类型:Shell、MR、Spark、SQL(mysql、postgresql、hive、sparksql),Python,Sub_Process、Procedure等

* 支持工作流定时调度、依赖调度、手动调度、手动暂停/停止/恢复,同时支持失败重试/告警、- 从指定节点恢复失败、Kill任务等操作

* 支持工作流优先级、任务优先级及任务的故障转移及任务超时告警/失败

* 支持工作流全局参数及节点自定义参数设置

* 支持资源文件的在线上传/下载,管理等,支持在线文件创建、编辑

* 支持任务日志在线查看及滚动、在线下载日志等

* 实现集群HA,通过Zookeeper实现Master集群和Worker集群去中心化

* 支持对Master/Worker cpu load,memory,cpu在线查看

* 支持工作流运行历史树形/甘特图展示、支持任务状态统计、流程状态统计

* 支持补数

* 支持多租户

DolphineScheduler 安装搭建:

- 本身就是自带HA,因此集群搭建还是很容易的

- 依赖 postgresql/mysql , java ,zookeeper ;依赖比较少;

- 也有docker的镜像

DolphinScheduler 使用:

- 直接在web界面上配置

- 配置租户,创建用户,关联租户

- 新建项目,配置工作流

- 工作流启动岂可。

DolphineScheduler 主要用户

大数据领域的调度,除了传统的azkaban外,可以试一下DolphinScheduler,小编看好它的前景。

#技术分享# #大数据# #互联网#

标签: #python调度kettle