2017-10-12 293 views
0

我正在使用Airflow連接來從RDS SQL實例中提取和處理數據。問題是該進程正在生成超過21個連接(儘管我的併發性在cfg文件中設置爲4)並且RAM超載。根據我如何設置流程,我不希望每次連接超過6-8個連接。有沒有一個好的cfg文件設置或管理面板選項,可以讓我控制這種行爲?我試過更新sql_alchemy_pool_recycle但這並沒有解決問題。Airflow會造成太多連接並導致MySQL RDS服務器崩潰

enter image description here

你可以看到系統性能開始坦克的GANT圖表作爲連接數量的增加以及對RDS實例的RAM上飽和:

enter image description here

回答

0

在氣流可以通過POOL限制繁重的併發工作,您可以設置池大小,並且運算符不會超出池大小。 https://airflow.incubator.apache.org/concepts.html#pools

+0

這看起來可能會工作,但我現在有另一個問題:'警告 - DagRun for capone_preproc 2017-10-12 18:32:40.342831不存在'。可以通過直接編輯元數據庫以某種方式擺脫此警告嗎?發生了什麼是我正在調試觸發外部觸發的運行,然後刪除它們。這似乎是將噪音插入元數據庫。 – Aaron

+0

您可以根據此票證設置我相信1.9的日誌記錄級別:https://issues.apache.org/jira/browse/AIRFLOW-1045 – Chengzhi

+0

@Chenghzi我很難判斷游泳池是否正常工作 - 我創建了一個可以發送這些作業的六任務池,但我仍然擁有比我預期更多的連接(17),而2GB的內存仍然剛剛達到最大。也就是說,這個過程比以前更流暢。 – Aaron