2022 年 2 月 22 日,在明天这个非凡的日子里,历经多年继续迭代和千万周期实例并发调度考验的 Taier(太阿)终于开源了!
Github 开源地址:
https://github.com/DTStack/Taier
官网文档地址:
https://dtstack.github.io/Taier/
这是袋鼠云开源我的项目的重要里程碑事件,代表着袋鼠云技术研发团队对开源的信心。咱们心愿通过技术分享,帮忙更多人摸索大数据平台的业务场景,同时也由衷欢送更多开发者参加到社区中来,Committer 虚位以待!
|缘起:太阿出鞘
Taier 的命名,源自中国十大名剑太阿。
Taier Logo
太阿是春秋战国期间楚国的镇国至宝,由铸剑名师欧冶子和干将联手打造。相传楚国在生死存亡之际,靠太阿剑气击败晋国大军,被世人誉为诸侯英武之剑,象征了威武不屈、心田弱小的实力,正如 Taier 强悍稳固的任务调度能力,每天可解决 15w+ 超宏大工作体量,岂但大大降低企业 ETL 的开发成本,还能无效保障大数据平台的安稳运行,功能强大,一如太阿剑威力无穷。
|亮剑:Taier 诞生
Taier 的诞生,与时代的倒退非亲非故。
现在,数字化转型已成为寰球浪潮,大数据平台建设成为新时代必不可少的基础设施。随着数字化转型的深刻,很多企业在建设数据中台过程中,将波及大量数据采集、解决、计算等方面的工作,需要的一直叠加,呈现了单个零碎难以满足简单业务的状况,迫切需要一种兼容多个子系统相互合作的任务调度零碎协调,正是基于这种背景,Taier 分布式 DAG 任务调度零碎应运而生。
Taier 是一个开箱即用的分布式可视化的 DAG 任务调度零碎,技术开发人员能够在 Taier 间接进行业务逻辑的开发,而不必关怀工作盘根错节的依赖关系与底层的大数据平台的架构实现,将工作的重心更多地聚焦在业务之中。
Taier(太阿)调度零碎架构图
在 Taier Logo 的设计上,咱们围绕零碎自身凋谢容纳、简略易用的个性,在设计中融入了积木、剑、蜂巢等元素。主体 Logo 由四块积木交叠而成,形若利剑,有组合,有拆散,传播开源项⽬凋谢容纳的理念,同时也体现 Taier 采⽤分布式模式——具备很强的解耦性、扩展性。
Taier Logo 创意阐释
Logo 底层采⽤六边形蜂巢构造,六边形蜂巢是大自然中最省劳动⼒、最省资料、最稳固的排列⽅式,其六条对称轴能够通过各种旋转⽽不扭转形态,选用六边形作为 Logo 的边框,意在传播 Taier 升高开发成本、提⾼⼤数据平台稳定性的特点。
|亮点:Taier 性能劣势
作为一个分布式可视化的 DAG 任务调度零碎,太阿 Taier 脱胎于袋鼠云的一站式大数据开发平台——数栈 DTinsight,技术实现来源于数栈散布式调度引擎 DAGScheduleX,DAGScheduleX 是数栈产品的重要基础设施之一,负责大数据平台所有工作实例的调度运行。太阿 Taier 是 DAGScheduleX 的重要枢纽,负责调度日常宏大的工作体量,多年的继续迭代与积淀,造就了太阿 Taier 六大外围劣势:
一、超高的稳定性
单点故障:去中心化的分布式模式
高可用形式:Zookeeper
过载解决:分布式节点 + 两级存储策略 + 队列机制。每个节点都能够解决任务调度与提交;工作多时会优先缓存在内存队列,超出可配置的队列最大数量值后会全副落数据库;工作解决以队列形式生产,队列异步从数据库获取可执行实例
实战测验:失去数百家企业客户生产环境实战测验
二、超强的易用性,一站式任务调度
反对大数据作业 Spark、Flink、Hive、MR 的调度
反对泛滥的工作类型,目前反对 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、Hive、MR 等引擎的多个版本共存,例如可同时反对 Flink1.10、Flink1.12(后续开源)
四、安全可靠,反对 Kerberos
Spark、Flink、Hive
五、丰盛的零碎参数
反对 3 种工夫基准,且能够灵便设置输入格局
六、卓越的扩展性,反对多种形式扩容
设计之处就思考分布式模式,目前反对整体 Taier 程度扩容形式;后续开源反对:Scheduler/Worker 拆散部署模式。
调度能力随集群线性增长
|终端:Taier 用户界面
|瞻望:将来迭代打算
Taier 调度平台是数据平台框架中的一个组件,能够满足企业日常数据分析、解决、展现须要。将来随着业务的接入和数据规模的增大,Taier 将继续晋升用户体验,打算将优化:
工作类型:反对 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 调度)
|结语:
Taier 应用了 Apache 的多个开源我的项目如 Flink、Spark 作为计算组件实现数据同步和批处理计算,得益于开源社区才有现在的太阿 Taier。正因为 Taier 取之于社区,所以咱们心愿通过开源此项技术的形式,回馈社区,独特弘扬“Community Over Code“的 Apache 文化。将来,咱们仍将秉承兼容并包与凋谢多样化的心态,将持续推出 Taier 后续版本,欢送更多的公司和集体参加到开发者队伍中来,让 Taier 社区更加强壮、衰弱的倒退,让更多人享受开源带来的技术反动!