本文匯總了Airflow使用時的常見問題。
如何排查調度失敗的任務?
您可以按照以下步驟排查:
- 在Airflow的DAGs頁面,單擊失敗的DAG。
- 在Tree View頁面,單擊失敗任務的圖標。
彈出相應Task的對話框。
- 單擊Task對話框中的View log。
您可以在Log頁面,根據失敗作業的日志信息處理。
如何手動重啟失敗的DAG?
您可以按照以下步驟操作:
- 在Airflow的DAGs頁面,單擊目標調度任務的DAG。
- 在Tree View頁面,單擊圖標。
彈出相應Task的對話框。
- 單擊Task對話框中的Clear。
- 單擊OK。
Scheduler會當作此任務未運行過,然后觸發此任務重新運行。
如何在DAG中使用集群模板?
詳細操作,請參見動態啟動計算集群運行工作流調度。
如何確定更新的DAG已生效?
無論是上傳或者修改DAG后,都需要等待一段時間才能生效。每隔一段時間Airflow會掃描并更新DAG。您可以通過以下操作查看:
- 在Airflow的DAGs頁面,單擊目標DAG。
- 單擊上方的Code。
可以在此頁面查看代碼是否已更新,已更新則說明更新已生效。如果超過五分鐘還未更新,請技術支持。
如何管理Airflow的配置項?
- 修改配置項
您可以在E-MapReduce控制臺的Airflow服務頁面,修改配置項,詳細信息請參見管理組件參數。
- 添加配置項
您可以在E-MapReduce控制臺的Airflow服務頁面,添加配置項。
- 在E-MapReduce控制臺的Airflow服務的配置頁面,單擊airflow.cfg頁簽。
- 單擊自定義配置。
- 在新增配置項對話框中,添加配置項。
添加的參數形式如下所示。
$section_path.$real_key
參數信息如下:$section_path
:Key的層級。例如,core。$real_key
:實際需要添加的Key。例如,executor。
例如,您需要添加配置executor = CeleryExecutor
,則應在控制臺添加的參數為core.executor,參數值為CeleryExecutor的配置項。 - 配置完成后重啟服務,詳情請參見重啟服務。
如何為新增用戶添加權限?
通過E-MapReduce控制臺的用戶管理模塊創建的用戶登錄Web UI時,默認為User角色,無法訪問Connections和Variables等界面。您可以按照以下步驟為角色添加admin權限后,即可正常訪問Connections和Variables等界面。
- 執行以下命令,進入Airflow環境。
source /usr/lib/airflow-current/bin/activate
- 執行以下命令,為用戶添加admin權限。
airflow users add-role -r Admin -u <your_username>
說明<your_username>
為您在E-MapReduce控制臺通過用戶管理模塊添加的用戶名。
如何修改時區配置?
默認時區配置使用IANA time zone方式。默認時區配置為UTC,如果您需要修改時區,請按照以下步驟修改參數default_timezone和default_ui_timezone。
- 執行以下命令,進入Airflow的配置文件目錄。
cd /etc/ecm/airflow-current-conf/
- 執行以下命令,修改配置文件airflow.cfg。
vim airflow.cfg
修改
[core]
層級下的default_timezone參數,和[webserver]
層級下的default_ui_timezone參數。[core] default_timezone = Asia/Shanghai [webserver] default_ui_timezone = Asia/Shanghai