分佈式工做流任務調度系統Easy Scheduler正式開源

分佈式工做流任務調度系統Easy Scheduler正式開源

License

一、背景

在多位技術小夥伴的努力下,通過近2年的研發迭代、內部業務剝離及重構,也經歷一批種子用戶試用一段時間後,EasyScheduler終於迎來了第一個正式開源發佈版本 -- 1.0.0。 相信作過數據處理的夥伴們對開源的調度系統如oozie、azkaban、airflow應該都不陌生,在使用這些調度系統中可能會有這樣的體驗:好比配置工做流任務不能可視化、任務的運行狀態不能實時在線查看、 任務運行時不能暫停、不能支持參數傳遞、不能補數、不能多租戶使用、調度系統不高可用等等問題所煩擾過。Easy Scheduler正是在這種背景下應運而生,其目標就是爲使調度更加easy,更能夠從其中文名「易調度」看出咱們的初衷。html

二、設計特色

Easy Scheduler是一個分佈式工做流任務調度系統,主要解決數據研發ETL錯綜複雜的依賴關係所帶來的各類問題。 其主要目標以下:前端

  • 以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在線查看
  • 支持工做流運行歷史樹形/甘特圖展現、支持任務狀態統計、流程狀態統計
  • 支持補數
  • 支持多租戶
  • 支持國際化
  • 還有更多等待夥伴們探索

四、與同類調度系統的對比

 

調度系統對比

五、系統部分截圖

六、文檔

更多文檔請參考: Easy Scheduler中文在線文檔mysql

七、感謝

Easy Scheduler使用了不少優秀的開源項目,好比google的guava、guice、grpc,netty,ali的bonecp,quartz,以及apache的衆多開源項目等等,咱們也很是感謝oozie、azkaban、airflow等優秀調度做品的出現帶給咱們的啓發, 正是因爲站在這些開源項目的肩膀上,纔有Easy Scheduler的誕生的可能。對此咱們對使用的全部開源軟件表示很是的感謝!咱們也但願本身不只是開源的受益者,也能成爲開源的 貢獻者,因而咱們決定把易調度貢獻出來,並承諾長期維護。也但願對開源有一樣熱情和信念的夥伴加入進來,一塊兒爲開源獻出一份力!git

八、後記

Easy Scheduler於2019.03.28號正式開源後,僅僅一週時間,咱們就感覺到了夥伴們對Easy Scheduler的極大熱情,不少夥伴提出使用反饋,還有一些夥伴是直接就找到相應的源代碼來提問題或給出更好的建議、甚至直接在Easy Scheduler上擼袖子寫代碼, 這給咱們目前的主要開發者予以極大的精神鼓舞,很是感謝夥伴們這麼熱情和信任咱們,咱們會和你們一道繼續奔走在使調度系統開箱即用這條大道上,爲使"數據能力平民化"添磚加瓦,爲數據時代貢獻本身的激情和汗水!github

碼雲地址: https://gitee.com/easyscheduler/EasySchedulersql

開源github地址:https://github.com/analysys/EasySchedulerapache

在線文檔地址:https://analysys.github.io/easyscheduler_docs_cn後端

相關文章
相關標籤/搜索