| 本文編輯:朱桐
新一代大數據任務調度 - Apache DolphinScheduler(incubator) 在經過社區 30 多位小夥伴的貢獻與努力下於發佈了 1.3.4 版本,1.3.4 作爲 1.3.x 的 bug 修復版本,本次共修復了 1.3.3 發現的 10 多處 bug,其中多數 bug 是測試夥伴在極端環境下發現的。1.3.4 重要的修復需要關注下面這個:
1 個重要修復
現象:
任務實例(taskInstance) 狀態更改錯誤:[#4084][server] fix taskInstance state change error
taskInstance 狀態從 7 變爲 1,用戶觀察到狀態從“ SUCCESS”變爲“ RUNNING”。主節點仍然循環檢查 taskInstance狀態,等待 taskInstance 狀態完成。
原因:
master 向 worker 發送 task:
1. worker 接收到 task 後,會回覆給 master一個“ack”,然後去執行task,執行結束之後給 master 發送任務執行結果 result。
2. master 接收到 ack 後將 taskInstance 的狀態更新成 1,接收到任務結果 result 後將狀態更新成 7。(假設 task 的狀態是成功)
正常情況:
ack 和 result 根據 worker 執行的順序,ack 會先發送到 master,task 狀態從 0 -> 1, result 後發送到 master ,task狀態從 1 -> 7。
異常情況:
在 ack 的 response 處理的時候出現阻塞,或者是在 netty 消息傳輸或消費的時候延遲,造成 result 更新數據庫的時間早於 ack,導致狀態變化 0 -> 7 -> 1. 而實際 worker 已經執行過 task 了,所以 master 就會阻塞住,一直循環查看當前節點的狀態。
解決:https://github.com/apache/incubator-dolphinscheduler/pull/4097
其他 BUG FIX 請參考下列內容:
[ #2917 #4034 #4104 #4135 ] [sqoop] sqoop優化和錯誤修復
[ #3177 ] 任務時間參數解析錯誤
[ #3457 ] [flink] 修復flink args構建問題
[ #4034 ] [server] 修復sqoop導入失敗
[ #3900 ] [server] 在一項工作中殺死多個yarn應用
[ #4054 ] [api] 修復本月的最後一週,添加/編輯時間,預覽和保存時間將報告錯誤
[ #4054 ] [ui ] 修復每月的最後一個星期日
[ #4084 ] [server] 修復taskInstance狀態更改錯誤
[ #4104 ] 修復sqoop任務jdbc字符串包含特殊字符
[ #4135 ] [worker] 修復sqoop導入配置單元錯誤
[ #4114 ] [server] 修復清除任務的執行路徑與master相關。
[ #4084 ] [master] 修復taskInstance狀態更改錯誤
[ #4090 ] dao在工作流中執行單個任務時拋出NullPointerException
[ #4190 ] [dao] 當json數據量很大時,進程列表頁面顯示緩慢。
[ #4218 ] [bug] 從具有NODE_PRE的設置節點開始將爲NPE
[ #4223 ] [ui] 修復dag節點名稱驗證
除了 Bug 修復外,本次也做了幾處功能改進,參考以下內容:
[#2925][server] init TaskLogger in TaskExecuteProcessor
[ambari-update] 將 DS 版本從 1.3.3 更改爲 1.3.4
[sqoop-update] 修改 sqoop task 參數
[#4143][quartz-update] 升級 quartz 版本到 2.3.0
1.3.4 版本經過測試夥伴的大量測試,修復了不少極端情況下可能出現問題的情況,十分推薦大家下載部署 1.3.4 版本
此外,1.3.4 具體變化請參考:https://github.com/apache/incubator-dolphinscheduler/releases/tag/1.3.4
1.3.4 下載地址:https://dolphinscheduler.apache.org/zh-cn/docs/release/download.html
1
Apache DolphinScheduler(incubator) 於 17 年在易觀數科立項, 19 年 3 月開源,
新一代大數據任務調度 - Apache DolphinScheduler 繼 11 月 19 日由 InfoQ 舉辦、在 300+ 參評項目中脫穎而出獲得 “2020 年度十大開源新銳項目” 和 “2020 年度最具人氣新銳項目” 以來,近期社區又榮獲 OSCHINA 年度 “最佳技術團隊” 稱號,非常歡迎更多小夥伴加入到貢獻隊伍中來,爲中國的開源崛起貢獻自己的一份力量。
Apache DolphinScheduler(incubator) 於 17 年在易觀數科立項, 19 年 3 月開源,8 月進入 Apache 孵化器, 據不完全統計,已有 400+ 公司在生產上使用。DolphinScheduler 致力於“解決大數據任務之間錯綜復雜的依賴關系,使整個數據處理流程直觀可見”。DolphinScheduler以 DAG(有向無環圖) 的方式將 Task 組裝起來,可實時監控任務的運行狀態,同時支持重試、從指定節點恢復失敗、暫停及Kill任務等操作。DolphinScheduler 專注於以下 6 個主要能力
Apache 組織崇尚 “社區大於代碼”,DolphinScheduler 目前微信用戶羣近 4000 人,社區目前有 190 + 貢獻者,來自 80+ 家公司、機構和高校(部分統計)
2
據不完全統計,目前已經有 400 + 家公司及機構採用 DolphinScheduler 在生產環境使用,以下是部分案例(排名不分先後)
此外,還有 1700+ 用戶注冊了 demo 試用,歡迎大家先體驗,十分歡迎對比哈。
3
隨着國內開源的崛起,DolphinScheduler迎來了蓬勃發展,爲了做更好用的調度,真誠歡迎熱愛開源的夥伴加入到開源社區中來,爲中國開源崛起獻上一份自己的力量,青春在開源上留下一點印記
參與 DolphinScheduler 社區有非常多的參與貢獻的方式,包括:
貢獻第一個PR(文檔、代碼) 我們也希望是簡單的,第一個PR用於熟悉提交的流程和社區協作以及感受社區的友好度
社區匯總了以下適合新手的問題列表:https://github.com/apache/incubator-dolphinscheduler/issues/4124
如何參與貢獻鏈接:https://dolphinscheduler.apache.org/zh-cn/docs/development/contribute.html
文檔 github 地址:https://github.com/apache/incubator-dolphinscheduler-website
來吧,DolphinScheduler開源社區需要您的參與,爲中國開源崛起添磚加瓦吧,哪怕只是小小的一塊瓦,匯聚起來的力量也是巨大的
如果您想參與貢獻,卻發現上述方法都搞不明白,也沒關系,我們有個開發者種子孵化羣,可以添加微信(dailidong66) 手把手教會您,添加時請說明想參與貢獻哈
DolphinScheduler開源社區非常期待您的參與。
本文分享自微信公衆號 - 海豚調度(dolphin-scheduler)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。