1、DolphinScheduler簡介
-
Apache DolphinScheduler](https://dolphinscheduler.apache.org/)(目前處在孵化階段)是一個分布式、去中心化、易擴展的可視化DAG工作流任務調度系統,
其致力於解決數據處理流程中錯綜復雜的依賴關系,使調度系統在數據處理流程中開箱即用。 -
DolphinScheduler是2019年中國易觀公司開源的一個調度系統,在美國時間2019年8月29號,易觀開源的分布式任務調度引擎DolphinScheduler(原EasyScheduler)
正式通過頂級開源組織Apache基金會的投票決議,根據Apache基金會郵件列表顯示,在包含11個約束性投票(binding votes)和2個無約束性投票(non-binding votes)的
投票全部持贊同意見,無棄權票和反對票,投票順利通過,這樣便以全票通過的優秀表現正式成為了Apache孵化器項目!
2、DolphinScheduler的特性
2.1 高可靠性
- 去中心化多Master和Worker,自身支持HA功能,采用任務隊列來避免過載,不會造成機器卡死
2.2.簡單易用
- DAG監控界面,所有流程定義都是可視化,通過拖拽任務制定DAG
- 通過API方式與第三方系統對接,一鍵部署。
2.3.豐富的使用場景
- 支持暫停、恢復操作,支持多租戶,更好的應對大數據的使用場景,支持更多的任務類型,如hive,mr,spark,python
2.4.高擴展性
- 支持自定義任務類型,調度器使用分布式調度,調度能力隨集群線性增長,Master和Worker支持動態上下線
3、DolphinScheduler的架構介紹
3.1 系統架構設計
https://dolphinscheduler.apache.org/zh-cn/blog/architecture-design.html
3.2 DS-1.3改進及新特性
- 數據庫減壓,減少極端情況下的可能造成的調度延時
- Worker去DB、職責更單一
- Master和Worker直接通信,降低 延時
- Master多種策略分發任務(有三種方式選擇Worker節點:隨機、循環、CPU和 內存的線性加權負載平衡 )
- 資源中心支持多目錄
- 任務類型新增Datax、 Sqoop、條件分支
- DAG一鍵格式化
- 批量導出和導入工作流
- 工作流復制