天天看點

任務排程器-DolphinScheduler調優-并發設定

作者:白楊Shayne

【問題描述】

DolphinScheduler在生産正式使用後,經常出現master-server或者worker-server程序退出,在“監控中心”可以檢視存活的master或者worker;

檢視worker:

任務排程器-DolphinScheduler調優-并發設定

并且在gc日志中出現記憶體配置設定失敗GC (Allocation Failure)

日志目錄是:/logs/gc.log

任務排程器-DolphinScheduler調優-并發設定

【解決辦法】

通過查閱官方文檔,發現兩個很有用的配置,master.exec.threads和worker.exec.threads;

配置master.properties,我這裡配置為5,意思是一個master最對運作5個流程執行個體;

任務排程器-DolphinScheduler調優-并發設定

配置worker.properties,我這裡設定為10,意思是一個worker,最多運作10個任務執行個體;

任務排程器-DolphinScheduler調優-并發設定

配置好後,已啟動未運作的任務執行個體可以這樣檢視:

任務排程器-DolphinScheduler調優-并發設定

可以選擇“運作中”檢視運作狀态的任務執行個體;我有兩個worker,理論上就是最多20個正在運作的任務執行個體,可以我數了之後,發現不止20個;後面查閱資料得知,“任務依賴”的任務執行個體,不占用運作執行個體名額,原因是“任務依賴”的任務執行個體不占用資源;

去除“任務依賴”的任務執行個體後,果然是20個正着運作的任務。

【總結】

這是兩個非常有用的參數,通過控制并發的任務和流程,進而控制同一時間需要的資源,避免任務一下全部拉起來,導緻資源耗盡使程序退出;

設定了并發後,等于是把資源使用的峰值給抹平了,master-server和worker-server沒有再出現程序退出和記憶體配置設定失敗的異常。

繼續閱讀