本文汇总了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