一、开源项目简介

Taier 名字由来中国古代十大名剑之一 —— 太阿

Taier 是一个分布式可视化的DAG任务调度系统。旨在降低ETL开发成本、提高大数据平台稳定性,大数据开发人员可以在 Taier 直接进行业务逻辑的开发,而不用关心任务错综复杂的依赖关系与底层的大数据平台的架构实现,将工作的重心更多地聚焦在业务之中。

Taier 脱胎于袋鼠云 – 数栈 (一站式大数据开发平台),技术实现来源于数栈分布式调度引擎DAGScheduleX

DAGScheduleX是数栈 产品的重要基础设施之一,负责大数据平台所有任务实例的调度运行。

二、开源协议

使用Apache-2.0开源协议

三、界面展示

主要界面

[开源]分布式可视化的DAG任务调度系统,稳定易用降低ETL开发成本插图
[开源]分布式可视化的DAG任务调度系统,稳定易用降低ETL开发成本插图1
[开源]分布式可视化的DAG任务调度系统,稳定易用降低ETL开发成本插图2
[开源]分布式可视化的DAG任务调度系统,稳定易用降低ETL开发成本插图3
[开源]分布式可视化的DAG任务调度系统,稳定易用降低ETL开发成本插图4

四、功能概述

功能特征

稳定性

  • 单点故障:去中心化的分布式模式
  • 高可用方式:Zookeeper
  • 过载处理:分布式节点 + 两级存储策略 + 队列机制。每个节点都可以处理任务调度与提交;任务多时会优先缓存在内存队列,超出可配置的队列最大数量值后会全部落数据库;任务处理以队列方式消费,队列异步从数据库获取可执行实例
  • 实战检验:得到数百家企业客户生产环境实战检验

易用性

  • 支持大数据作业Spark、Flink的调度,
  • 支持众多的任务类型,目前支持 Spark SQL、Flinkx
  后续将开源::
  SparkMR、PySpark、FlinkMR、Python、Shell、Jupyter、Tersorflow、Pytorch、
HadoopMR、Kylin、Odps、SQL类任务(MySQL、PostgreSQL、Hive、Impala、Oracle、SQLServer、TiDB、带格式的:突出显示
greenplum、inceptor、kingbase、presto)
  • 可视化工作流配置:支持封装工作流、支持单任务运行,不必封装工作流、支持拖拽模式绘制DAG
  • DAG监控界面:运维中心、支持集群资源查看,了解当前集群资源的剩余情况、支持对调度队列中的任务批量停止、任务状态、任务类型、重试次数、任务运行机器、可视化变量等关键信息一目了然
  • 调度时间配置:可视化配置
  • 多集群连接:支持一套调度系统连接多套Hadoop集群

多版本引擎

  • 支持Spark 、Flink等引擎的多个版本共存,例如可同时支持Flink1.10、Flink1.12(后续开源)

Kerberos支持

  • Spark、Flink

系统参数

  • 丰富,支持3种时间基准,且可以灵活设置输出格式

扩展性

  • 设计之处就考虑分布式模式,目前支持整体 Taier 水平扩容方式;
  • 调度能力随集群线性增长;

五、技术选型

[开源]分布式可视化的DAG任务调度系统,稳定易用降低ETL开发成本插图5

依赖组件

基础软件

JDK 版本: 
JDK 1.8 +MySQL 版本: 
MySQL 5.7.33 +Zookeeper 版本: 
Zookeeper 3.5.7 +

三方框架​

DatasourceX(数据源插件):
4.3.0Chunjun(数据同步插件):
1.12

大数据组件​

  • Flink On Yarn数据同步任务依赖版本:flink-1.12
  • Spark On YarnSpark SQL任务运行依赖版本:spark-2.1.3

taier 与 DatasourceX、Chunjun 的关系​

  • DatasourceX 是数据源插件,负责各类型数据源的元数据和数据操作,如获取表结构,预览表数据 等功能均由DatasourceX实现;
  • Chunjun 是一个基于Flink的批流统一的数据同步工具,既可以采集静态的数据,比如MySQL,HDFS等,也可以采集实时变化的数据,比如MySQL binlog,Kafka等。

未来规划

  • 任务类型:支持SparkMR、PySpark、FlinkMR、Python、Shell、Jupyter、Tersorflow、Pytorch、 HadoopMR、Kylin、Odps、SQL类任务(MySQL、PostgreSQL、Hive、Impala、Oracle、SQLServer、TiDB、greenplum、inceptor、kingbase、presto)
  • 调度方式:同时支持Yarn/K8s
  • 计算引擎:同时支持Spark-2.1.x/2.4.x、Flink-1.10/1.12(与Flink后续版本)
  • 部署方式:同时支持Scheduler/Worker整合与分离部署
  • 功能支持:支持交易日历、事件驱动
  • 外部系统对接:支持Taier系统对接外部调度系统(AZKBAN、Control-M、DS调度)
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。