本文匯總了Airflow使用時的常見問題。

如何排查調度失敗的任務?

您可以按照以下步驟排查:
  1. 在Airflow的DAGs頁面,單擊失敗的DAG。
  2. Tree View頁面,單擊失敗任務的failed-task圖標。

    彈出相應Task的對話框。

  3. 單擊Task對話框中的View logView log

    您可以在Log頁面,根據失敗作業的日志信息處理。

如何手動重啟失敗的DAG?

您可以按照以下步驟操作:
  1. 在Airflow的DAGs頁面,單擊目標調度任務的DAG。
  2. Tree View頁面,單擊fail圖標。

    彈出相應Task的對話框。

  3. 單擊Task對話框中的ClearClrear
  4. 單擊OK

    Scheduler會當作此任務未運行過,然后觸發此任務重新運行。

如何在DAG中使用集群模板?

詳細操作,請參見動態啟動計算集群運行工作流調度

如何確定更新的DAG已生效?

無論是上傳或者修改DAG后,都需要等待一段時間才能生效。每隔一段時間Airflow會掃描并更新DAG。您可以通過以下操作查看:

  1. 在Airflow的DAGs頁面,單擊目標DAG。
  2. 單擊上方的Codecode

    可以在此頁面查看代碼是否已更新,已更新則說明更新已生效。如果超過五分鐘還未更新,請技術支持

如何管理Airflow的配置項?

  • 修改配置項

    您可以在E-MapReduce控制臺的Airflow服務頁面,修改配置項,詳細信息請參見管理組件參數

  • 添加配置項
    您可以在E-MapReduce控制臺的Airflow服務頁面,添加配置項。
    1. 在E-MapReduce控制臺的Airflow服務的配置頁面,單擊airflow.cfg頁簽。
    2. 單擊自定義配置
    3. 新增配置項對話框中,添加配置項。
      添加的參數形式如下所示。
      $section_path.$real_key
      參數信息如下:
      • $section_path:Key的層級。例如,core。
      • $real_key:實際需要添加的Key。例如,executor。
      add
      例如,您需要添加配置executor = CeleryExecutor,則應在控制臺添加的參數為core.executor,參數值為CeleryExecutor的配置項。add_airflow
    4. 配置完成后重啟服務,詳情請參見重啟服務

如何為新增用戶添加權限?

通過E-MapReduce控制臺的用戶管理模塊創建的用戶登錄Web UI時,默認為User角色,無法訪問Connections和Variables等界面。您可以按照以下步驟為角色添加admin權限后,即可正常訪問Connections和Variables等界面。

  1. 執行以下命令,進入Airflow環境。
    source /usr/lib/airflow-current/bin/activate
  2. 執行以下命令,為用戶添加admin權限。
    airflow users add-role -r Admin -u <your_username>
    說明 <your_username>為您在E-MapReduce控制臺通過用戶管理模塊添加的用戶名。

如何修改時區配置?

默認時區配置使用IANA time zone方式。默認時區配置為UTC,如果您需要修改時區,請按照以下步驟修改參數default_timezonedefault_ui_timezone

  1. 執行以下命令,進入Airflow的配置文件目錄。
    cd /etc/ecm/airflow-current-conf/
  2. 執行以下命令,修改配置文件airflow.cfg
    vim airflow.cfg

    修改[core]層級下的default_timezone參數,和[webserver]層級下的default_ui_timezone參數。

    [core] default_timezone = Asia/Shanghai
    [webserver] default_ui_timezone = Asia/Shanghai