【问题标题】:Airflow 504 gateway time-out气流 504 网关超时
【发布时间】:2018-11-18 06:00:14
【问题描述】:

当我尝试在 UI 中打开某些 DAG 的树视图或任务持续时间页面时,我多次收到错误消息:504 网关超时。 有时在那之后我什至无法打开包含 DAG 列表的页面。 你知道这个问题可能来自哪里吗?

运行 Airflow 的机器的 CPU 和内存似乎没问题,我使用 RDS 作为元数据。

谢谢!

【问题讨论】:

  • 版本?它在哪里运行?你有多少个 DAG?是否有任何错误记录?网络设置如何?我们需要更多信息才能提供帮助。
  • 您能否分享您的网络服务器日志中出现 504 错误?

标签: airflow


【解决方案1】:

我以前也经历过。我相信它是由一个 HTTP 请求引起的,该请求比网络服务器的 gunicorn worker 需要更长的时间来完成。例如,如果您将 DAG 树视图设置为较高的设置,例如针对具有大量任务的 DAG 运行 365 DAG,您可能能够一致地重现这一点。

您能否尝试提高网络服务器上的超时设置,看看是否有影响?

  • 首先,尝试增加[webserver] 组下的web_server_worker_timeout(默认值 = 120 秒)。
  • 如果这不能解决问题,您也可以尝试在同一组下增加web_server_master_timeout
  • 另一种尝试的技术是将网络服务器 worker_class(默认 = sync)切换到 eventletgevent

参考:https://github.com/apache/incubator-airflow/blob/c27098b8d31fee7177f37108a6c2fb7c7ad37170/airflow/config_templates/default_airflow.cfg#L225-L229

请注意,替代工作人员类需要安装带有 async 附加功能的 Airflow,例如:

pip install apache-airflow[async]

您可以在此问题中找到有关 gunicorn worker 超时的更多信息:How to resolve the gunicorn critical worker timeout error?

【讨论】:

  • 嗨@shankshera - 我将您建议的编辑标记为已拒绝,因为extras 是 Py 中可选子依赖项的官方技术术语(不是“子包”,因为它实际上不是子) .至于添加引号,您不需要引号即可在 shell 中运行此命令 - 例如,请参阅 packaging.python.org/tutorials/installing-packages/…
猜你喜欢
  • 2013-05-20
  • 2011-08-30
  • 2017-04-30
  • 2019-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多