google-cloud-platform - Cloud Composer - 未找到 DAG 任务日志文件

标签 google-cloud-platform airflow google-cloud-composer

从几天前开始,某些任务会在每次 DAG 运行开始时抛出错误。似乎找不到从任务中检索日志记录的日志文件。

*** 404 GET https://storage.googleapis.com/download/storage/v1/b/europe-west1-ventis-brand-f-65ab79d1-bucket/o/logs%2Fimport_ebay_snapshot_feeds_ES%2Fstart%2F2021-11-30T08%3A00%3A00%2B00%3A00%2F3.log?alt=media: No such object: europe-west1-ventis-brand-f-65ab79d1-bucket/logs/import_ebay_snapshot_feeds_ES/start/2021-11-30T08:00:00+00:00/3.log: ('Request failed with status code', 404, 'Expected one of', <HTTPStatus.OK: 200>, <HTTPStatus.PARTIAL_CONTENT: 206>)

我已经升级到最新版本的 Cloud Composer,任务在 Python3 上运行。

有环境配置:

资源:

工作负载配置:

  • 调度员
  • 1 个 vCPU、2 GB 内存、2 GB 存储空间

调度器数量:2

网络服务器:

  • 1 个 vCPU、2 GB 内存、2 GB 存储空间

worker 1 个 vCPU,2 GB 内存,1 GB 存储

worker 数量:

  • 在 1 到 4 个工作人员之间自动扩缩

核心基础设施: 环境大小:小

GKE集群 项目/************************************

Cloud Composer 更新日志中没有关于此错误的相关问题。 如何解决这个问题?

最佳答案

这是 Cloud composer 环境中的一个错误,已经被报告过。您可以跟踪此对话:Re: Log not visible via Airflow web log和其他类似的论坛。为了解决这个问题,建议更新您的 Composer 环境或使用稳定版本。

有一些建议的解决方法(您可以按此顺序尝试,它们彼此独立):

  1. 从 Composer GCS 存储桶中的/logs 文件夹中删除日志,并将其存档在其他地方(/logs 文件夹之外)。

  1. 手动更新网络服务器配置以直接从项目中的新存储桶读取日志。您首先需要将存储桶上的查看者角色(如 roles/storage.legacyBucketReader 和 roles/storage.legacyObjectReader)授予运行网络服务器的服务帐户。
  • 编辑/home/airflow/gcs/airflow.cfgremote_base_log_folder = <newbucket>具有如上所述的适当权限。

  1. 如果您没有启用 DRS(域限制共享),我相信您没有。您可以创建一个新的 Composer 环境,这次是通过 v1 Composer API 或不在 Cloud Console 中启用 Beta 功能。这样,Composer 将创建一个没有 DRS 兼容设置的环境,因此没有桶到桶同步。 问题是您需要将 DAG 和数据迁移到新环境。

关于google-cloud-platform - Cloud Composer - 未找到 DAG 任务日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70167141/

相关文章:

google-compute-engine - Google Compute Engine上所有新规则的防火墙规则默认范围值

google-cloud-platform - GCP Dataproc 已推出 Druid alpha 版。如何加载段?

google-bigquery - 使用自定义元数据标记 BigQuery 作业/查询

python - 使用 Airflow 从 S3 进行批处理

python - 我们可以在不使用 Cloud Composer 的情况下运行 Airflow 模板吗

git - 从 Google Cloud Composer DAG 克隆存储库

python - 仅在某些异常时重试 Airflow 任务实例

google-app-engine - 如何在 Google 应用引擎和计算引擎之间建立私有(private)连接?

airflow - 删除 Airflow 任务日志

python - 为什么 docker-compose python 找不到 Airflow 操作符的模块