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社區更加健壯、健康的發展,讓更多人享受開源帶來的技術革命!
