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