Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
本页面列出了 Cloud Composer 的已知问题。如需了解问题修复信息,请参阅版本说明。
某些问题会影响旧版本,可以通过升级环境来解决。
Pod 和服务部分支持非 RFC 1918 地址范围
Cloud Composer 依赖 GKE 为 Pod 和服务提供对非 RFC 1918 地址的支持。Cloud Composer 仅支持以下非 RFC 1918 范围列表:
- 100.64.0.0/10
- 192.0.0.0/24
- 192.0.2.0/24
- 192.88.99.0/24
- 198.18.0.0/15
- 198.51.100.0/24
- 203.0.113.0/24
- 240.0.0.0/4
在 Composer 1.10.2 和 Composer 1.10.3 中启用 DAG 序列化时,Airflow 界面不显示任务日志
在使用 Composer 版本 1.10.2 和 1.10.3 的环境中启用 DAG 序列化时,可防止日志显示在 Airflow 网络服务器上。要解决此问题,请升级到版本 1.10.4(或更高版本)。
Cloud Composer 中调度期间出现间歇性任务失败
在执行任务期间,任务实例的 Airflow 调度器中出现此问题。不过,日志并未说明任务失败的原因,而 Airflow 工作器和 Airflow 调度程序的运行状况看起来相对良好。
Airflow 调度程序的错误消息可能如下所示:
Executor reports task instance <TaskInstance: xx.xxxx
scheduled__2022-04-21T06:00:00+00:00 [queued]> finished (failed) although the
task says its queued. (Info: None) Was the task killed externally?
或者,Airflow 工作器上可能会出现类似于以下错误消息的错误:
Log file is not found: gs://$BUCKET_NAME/logs/$DAG_NAME/$TASK_NAME/
2023-01-25T05:01:17.044759+00:00/1.log.
The task might not have been executed or worker executing it might have
finished abnormally (e.g. was evicted).
为确保针对 Airflow 中长期存在的问题所导致的此类错误的稳健性,强烈建议您主动在任务和 DAG 级别实施适当的重试策略。通过纳入这些措施,系统可以有效减轻这些错误的影响,从而提高工作流的整体可靠性和弹性。
不支持 GKE Workload Identity Federation for GKE
在 Cloud Composer 1 中,您无法为 Cloud Composer 环境集群启用适用于 GKE 的工作负载身份联合。因此,您可能会在 Security Command Center 中看到 WORKLOAD_IDENTITY_DISABLED
发现结果。
在更新期间添加的环境标签未完全传播
更新环境标签时,这些标签不会应用于环境集群中的 Compute Engine 虚拟机。作为解决方法,您可以手动应用标签。
从 Airflow 1.9.0 升级到 Airflow 1.10.x 之后,Airflow 任务日志将在 Airflow 网络服务器中不可用
Airflow 1.10.x 针对日志文件的命名惯例引入了不向后兼容的更改。Airflow 任务的日志名称中添加了可用区信息。
Airflow 1.9.0 会存储日志名称,并要求采用以下格式:
BUCKET/logs/DAG/2020-03-30T10:29:06/1.log
Airflow 1.10.x 会存储日志名称,并要求采用以下格式:
BUCKET/logs/DAG/2020-03-30T10:29:06+00:00/1.log
因此,如果您从 Airflow 1.9.0 升级到 Airflow 1.10.x,并且想要读取使用 Airflow 1.9.0 执行的任务的日志,则 Airflow 网络服务器将显示以下错误消息:
Unable to read remote log from BUCKET/logs/DAG/2020-03-30T10:29:06+00:00/1.log
解决方法:使用以下格式,重命名 Cloud Storage 存储分区中由 Airflow 1.9.0 生成的日志:BUCKET/logs/DAG/2020-03-30T10:29:06+00:00/1.log
无法创建执行组织政策 constraints/compute.disableSerialPortLogging 的 Cloud Composer 环境
如果对目标项目强制执行 constraints/compute.disableSerialPortLogging
组织政策,Cloud Composer 环境创建将失败。
诊断
要确定您是否受到此问题影响,请按以下步骤操作:
前往Google Cloud 控制台中的 GKE 菜单。 访问 GKE 菜单
然后,选择新创建的集群。检查是否存在以下错误:
Not all instances running in IGM after 123.45s.
Expect <number of desired instances in IGM>. Current errors:
Constraint constraints/compute.disableSerialPortLogging violated for
project <target project number>.
解决方法:
在将创建 Cloud Composer 环境的项目中停用组织政策。
即使父资源(组织或文件夹)启用了组织政策,您也始终可以在项目级层停用组织政策。如需了解详情,请参阅为布尔值限制条件自定义政策页面。
使用排除过滤器
使用串行端口日志的排除过滤器可以实现与停用组织政策同样的目标,因为 Logging 中将会有串行控制台日志。如需了解详情,请参阅排除过滤器页面。
使用 Deployment Manager 管理受 VPC Service Controls 保护的 Google Cloud 资源
Cloud Composer 1 和 Cloud Composer 2 版本 2.0.x 使用 Deployment Manager 创建 Cloud Composer 环境的组件。
2020 年 12 月,您可能收到相关信息,告知您可能需要执行其他 VPC Service Controls 配置,以便能够使用 Deployment Manager 来管理受 VPC Service Controls 保护的资源。
我们想要说明,如果您使用的是 Cloud Composer,并且不直接使用 Deployment Manager 来管理 Deployment Manager 通告中所述的 Google Cloud 资源,则您无需执行任何操作。
Deployment Manager 显示有关不受支持的功能的信息
您可能会在 Deployment Manager 标签页中看到以下警告:
The deployment uses actions, which are an unsupported feature. We recommend
that you avoid using actions.
对于 Cloud Composer 拥有的 Deployment Manager 部署,您可以忽略此警告。
在环境的集群被删除后无法删除环境
此问题适用于 Cloud Composer 1 和 Cloud Composer 2 版本 2.0.x。
如果您在删除环境本身之前删除环境的 GKE 集群,则尝试删除环境会导致以下错误:
Got error "" during CP_DEPLOYMENT_DELETING [Rerunning Task. ]
如需删除其集群已被删除的环境,请执行以下操作:
在 Google Cloud 控制台中,前往 Deployment Manager 页面。
查找所有带有以下标签的部署:
goog-composer-environment:<environment-name>
goog-composer-location:<environment-location>
。
您应该会看到两个部署带有所述标签:
- 名为
<environment-location>-<environment-name-prefix>-<hash>-sd
的部署 - 名为
addons-<uuid>
的部署
手动删除仍在这两个部署中列出和存在于项目中的资源(例如,Pub/Sub 主题和订阅)。为此,请执行以下操作:
选择部署。
点击删除。
选择删除这 2 个部署及其创建的虚拟机、负载平衡器和磁盘等所有资源选项,然后点击全部删除。
删除操作失败,但剩余资源将被删除。
使用以下任一选项删除部署:
在 Google Cloud 控制台中,再次选择两个部署。 点击删除,然后选择删除这 2 个部署,但保留其创建的资源选项。
运行 gcloud 命令以删除具有
ABANDON
政策的部署:gcloud deployment-manager deployments delete addons-<uuid> \ --delete-policy=ABANDON gcloud deployment-manager deployments delete <location>-<env-name-prefix>-<hash>-sd \ --delete-policy=ABANDON
属于“echo-airflow_monitoring”DAG 的“echo”任务条目的警告
您可能会在 Airflow 日志中看到以下条目:
in _query db.query(q) File "/opt/python3.6/lib/python3.6/site-packages/MySQLdb/
connections.py", line 280, in query _mysql.connection.query(self, query)
_mysql_exceptions.IntegrityError: (1062, "Duplicate entry
'echo-airflow_monitoring-2020-10-20 15:59:40.000000' for key 'PRIMARY'")
您可以忽略这些日志条目,因为此错误不会影响 Airflow DAG 和任务处理。
我们正在努力改进 Cloud Composer 服务,以从 Airflow 日志中移除这些警告。
在将 Identity-Aware Proxy API 添加到 VPC Service Controls 边界的项目中,环境创建失败
在启用了 VPC Service Controls 的项目中,cloud-airflow-prod@system.gserviceaccount.com
账号需要在安全边界中获得明确的访问权限才能创建环境。
如需创建环境,您可以使用以下任一解决方案:
请勿将 Cloud Identity-Aware Proxy API 和 Identity-Aware Proxy TCP API 添加到安全边界。
在 YAML 条件文件中使用以下配置,将
cloud-airflow-prod@system.gserviceaccount.com
服务账号添加为安全边界的成员:- members: - serviceAccount:cloud-airflow-prod@system.gserviceaccount.com
启用 compute.requireOsLogin 政策时,Cloud Composer 1 环境创建失败
如果您的项目中的 compute.requireOsLogin
政策设为 true
,则 Cloud Composer 1 v1 环境创建操作将失败。
如需创建 Cloud Composer 1 环境,请在项目中停用此政策。
如需详细了解此组织政策,请参阅组织政策限制条件。
停用 compute.vmExternalIpAccess 政策时,Cloud Composer 环境创建或升级失败
此问题适用于 Cloud Composer 1 和 Cloud Composer 2 环境。
在公共 IP 模式下配置的 Cloud Composer 拥有的 GKE 集群需要其虚拟机的外部连接。因此,compute.vmExternalIpAccess
政策不能禁止创建具有外部 IP 地址的虚拟机。如需详细了解此组织政策,请参阅组织政策限制条件。
停用 compute.vmCanIpForward 政策时 Cloud Composer 1 环境创建失败
在非 VPC 原生(使用别名 IP)模式下创建的 Cloud Composer 1 环境需要此政策允许创建启用了 IP 转发功能的虚拟机。如需详细了解此组织政策,请参阅组织政策限制条件。
对于上传的 DAG 文件,首次运行 DAG 时有几个失败的任务
当您上传某个 DAG 文件时,有时针对该文件的首次 DAG 运行的前几个任务会失败,并显示 Unable to read remote log...
错误。出现此问题的原因是 DAG 文件在环境的存储分区、Airflow 工作器和环境的 Airflow 调度器之间同步。如果调度器获取 DAG 文件并安排其由工作器执行,并且工作器还没有 DAG 文件,则任务执行将失败。
为了缓解此问题,默认情况下,Airflow 2 环境配置为对失败的任务执行两次重试。如果任务失败,系统会按 5 分钟的时间间隔重试任务两次。
如需在 Airflow 1 中缓解此问题,请替换 [core]default_task_retries
Airflow 配置选项并将其设置为大于或等于 2
的数字。
在 Airflow 1.10.15 或更早版本中,任务失败并显示“OSError: [Errno 5] Input/output error”
Airflow 1 版本中的一个 bug 会导致在极少数情况下将任务放入环境的任务队列两次。
有时,这可能会导致日志文件出现竞态条件,进而造成任务失败。任务失败并在 Cloud Logging 中显示 OSError: [Errno 5] Input/output error
,在任务尝试日志中显示 Task is in the 'running' state which is not a valid state for execution.
。
此错误在 Airflow 2 中得到了解决。如果您在执行长时间运行的任务时,在 Airflow 1 中遇到此问题,请增加 [celery_broker_transport_options]visibility_timeout
Airflow 配置选项的值(Composer 1.17.0 的默认值为 604800
,旧版环境的默认值为 21600
)。对于短时间运行的任务,请考虑向受影响的任务添加更多重试次数,或将环境迁移到 Airflow 2。
Dataproc 和 Dataflow 运算符失败并显示 Negsignal.SIGSEGV
通过 Celery 工作器使用 grcpio
库时会出现这个间歇性问题。此问题会影响 Airflow 1.10.14 及更高版本。
解决方法是向您的环境添加以下环境变量,以更改 grpcio
轮询策略:GRPC_POLL_STRATEGY=epoll1
。 Cloud Composer 1.17.1 及更高版本中已经应用此解决方法。
关于从 GKE 版本中移除对已弃用 Beta 版 API 的支持的公告
Cloud Composer 管理 Cloud Composer 拥有的底层 GKE 集群。除非您在 DAG 和代码中显式使用此类 API,否则可以忽略有关 GKE API 弃用的公告。如有必要,Cloud Composer 会负责处理任何迁移。
Cloud Composer 不应受 Apache Log4j 2 漏洞 (CVE-2021-44228) 影响
针对 Apache Log4j 2 漏洞 (CVE-2021-44228),Cloud Composer 开展了详细调查,我们认为 Cloud Composer 不会受到此漏洞的影响。
访问环境的 Cloud Storage 存储桶时,Airflow 工作器或调度器可能会遇到问题
Cloud Composer 使用 gcsfuse 访问环境存储桶中的 /data
文件夹,并将 Airflow 任务日志保存到 /logs
目录(如果已启用)。如果 gcsfuse 过载或环境的存储桶不可用,您可能会遇到 Airflow 任务实例失败的情况,并在 Airflow 日志中看到 Transport endpoint is not connected
错误。
解决方案:
- 禁止将日志保存到环境的存储桶。 如果使用 Cloud Composer 2.8.0 或更高版本创建环境,此选项默认处于停用状态。
- 升级到 Cloud Composer 2.8.0 或更高版本。
- 减少
[celery]worker_concurrency
,改为增加 Airflow 工作器的数量。 - 减少 DAG 代码中生成的日志量。
- 遵循有关实现 DAG 的建议和最佳实践,并启用任务重试。
更改插件后,Airflow 界面有时有时不重新加载插件
如果插件包含多个会导入其他模块的文件,则 Airflow 界面可能无法识别应该重新加载插件的情况。在这种情况下,请重启环境的 Airflow Web 服务器。
与环境的数据库通信时出现间歇性问题
此已知问题仅适用于 Cloud Composer 1。
在 2021 年 8 月 12 日之前创建的一些早期 Cloud Composer 1 环境(1.16.3 或更早版本)可能会遇到与 Airflow 数据库通信相关的暂时性问题。
如果您遇到此问题,则会在 Airflow 任务日志中看到以下错误消息:
"Can't connect to MySQL server on 'airflow-sqlproxy-service.default.svc.cluster.local' (104)"
Cloud Composer 团队正在努力解决此问题。与此同时,如果您认为自己受到了此问题的严重影响,可以采取以下措施来缓解此问题:
在 Google Cloud 控制台中,前往受影响的 Cloud Composer 环境的环境配置页面。
点击查看集群详情链接,前往环境的底层 GKE 集群。
前往节点标签页,然后点击节点池部分中显示的 default-pool。
图 1:节点池列表中的 default-pool(点击可放大) 点击页面顶部的修改。
将映像类型更改为包含 containerd 的 Container-Optimized OS,然后保存配置:
图 2. 将节点池映像类型从 Docker 更改为 containerd(点击可放大) 提交更改后,系统会重新配置 default-pool 节点池,以使用 containerd 作为其容器运行时。在重新配置节点池期间,部分 Airflow 任务可能会失败。如果这些任务配置了重试,则在节点池的操作完成后,Airflow 将重新运行这些任务。
访问 Airflow 界面时出现 504 错误
访问 Airflow 界面时,您可能会遇到 504 Gateway Timeout
错误。此错误可能有多种原因:
暂时性通信问题。在这种情况下,请稍后尝试访问 Airflow 界面。您还可以重启 Airflow Web 服务器。
(仅限 Cloud Composer 3)连接问题。如果 Airflow 界面始终无法访问,并且生成了超时或 504 错误,请确保您的环境可以访问
*.composer.googleusercontent.com
。(仅限 Cloud Composer 2)连接问题。如果 Airflow 界面始终无法访问,并且生成了超时或 504 错误,请确保您的环境可以访问
*.composer.cloud.google.com
。如果您使用专用 Google 访问通道并通过private.googleapis.com
虚拟 IP 发送流量,或者使用 VPC Service Controls 并通过restricted.googleapis.com
虚拟 IP 发送流量,请确保您的 Cloud DNS 也针对*.composer.cloud.google.com
域名进行了配置。Airflow Web 服务器无响应。如果 504 错误仍然存在,但您仍然可以在某些时间访问 Airflow 界面,则可能是 Airflow Web 服务器因过载而无响应。尝试增加 Web 服务器的规模和性能参数。
访问 Airflow 界面时出现 502 错误
错误 502 Internal server exception
表示 Airflow 界面无法处理传入的请求。此错误可能有多种原因:
暂时性通信问题。请稍后尝试访问 Airflow 界面。
无法启动 Web 服务器。若要开始,Web 服务器需要先同步配置文件。检查 Web 服务器日志,看看是否存在类似于
GCS sync exited with 1: gcloud storage cp gs://<bucket-name>/airflow.cfg /home/airflow/gcs/airflow.cfg.tmp
或GCS sync exited with 1: gcloud storage cp gs://<bucket-name>/env_var.json.cfg /home/airflow/gcs/env_var.json.tmp
的日志条目。如果您看到这些错误,请检查错误消息中提及的文件是否仍存在于环境的存储桶中。如果这些备份被意外移除(例如,由于配置了保留政策),您可以恢复它们:
在您的环境中设置新的环境变量。您可以使用任何变量名称和值。
替换 Airflow 配置选项。您可以使用不存在的 Airflow 配置选项。
Airflow 2.2.3 或更早版本中的 Airflow 界面易受 CVE-2021-45229 的影响
如 CVE-2021-45229 中所述,“使用配置触发 DAG”界面容易受到通过 origin
查询实参发起的 XSS 攻击。
建议:升级到支持 Airflow 2.2.5 的最新 Cloud Composer 版本。
通过专用网络使用 Cloud Run functions 触发 DAG
Cloud Composer 不支持通过专用网络使用 VPC 连接器触发 Cloud Run 函数中的 DAG。
建议:使用 Cloud Run 函数在 Pub/Sub 上发布消息。此类事件可以驱动 Pub/Sub 传感器来触发 Airflow DAG,或者实现基于可延期运算符的方法。
调度器和工作器中的空文件夹
Cloud Composer 不会主动从 Airflow 工作器和调度器中移除空文件夹。当这些文件夹存在于存储桶中并最终被移除时,环境存储桶同步过程可能会创建此类实体。
建议:调整您的 DAG,使其能够跳过此类空文件夹。
当 Airflow 调度器和工作器重启时(例如,由于环境集群中的缩减或维护操作),此类实体最终会从这些组件的本地存储空间中移除。
支持 Kerberos
Cloud Composer 不支持 Airflow Kerberos 配置。
Google Campaign Manager 360 运算符支持
Cloud Composer 2.1.13 之前的版本中的 Google Campaign Manager 运算符基于已弃用的 Campaign Manager 360 v3.5 API,该 API 的停用日期为 2023 年 5 月 1 日。
如果您使用 Google Campaign Manager 运算符,请将环境升级到 Cloud Composer 版本 2.1.13 或更高版本。
Google Display & Video 360 运营商支持
Cloud Composer 2.1.13 之前的版本中的 Google Display and Video 360 运算符基于已弃用的 Display and Video 360 v1.1 API,该 API 的停用日期为 2023 年 4 月 27 日。
如果您使用 Google Display and Video 360 运算符,请将环境升级到 Cloud Composer 版本 2.1.13 或更高版本。此外,您可能还需要更改 DAG,因为某些 Google Display and Video 360 运算符已被弃用并替换为新的运算符。
GoogleDisplayVideo360CreateReportOperator
现已废弃。而是改用GoogleDisplayVideo360CreateQueryOperator
。此运算符返回query_id
而不是report_id
。GoogleDisplayVideo360RunReportOperator
现已废弃。而是改用GoogleDisplayVideo360RunQueryOperator
。此运算符返回query_id
和report_id
,而不仅仅是report_id
,并且需要query_id
而不是report_id
作为参数。- 如需检查报告是否已准备就绪,请使用新的
GoogleDisplayVideo360RunQuerySensor
传感器,该传感器使用query_id
和report_id
参数。已弃用的GoogleDisplayVideo360ReportSensor
传感器仅需要report_id
。 GoogleDisplayVideo360DownloadReportV2Operator
现在需要query_id
和report_id
参数。- 在
GoogleDisplayVideo360DeleteReportOperator
中,没有任何更改会影响您的 DAG。
次要范围名称限制
CVE-2023-29247(界面中的任务实例详情页面容易受到存储型 XSS 攻击)
Airflow 2.0.x 到 2.5.x 版本的 Airflow 界面易受 CVE-2023-29247 的影响。
如果您使用的 Cloud Composer 版本低于 2.4.2,并且怀疑您的环境可能容易受到该漏洞的攻击,请阅读以下说明和可能的解决方案。
在 Cloud Composer 中,对 Airflow 界面的访问权限受到 IAM 和 Airflow 界面访问权限控制的保护。
这意味着,为了利用 Airflow 界面漏洞,攻击者首先需要获得对项目的访问权限以及必要的 IAM 权限和角色。
解决方案:
验证项目中的 IAM 权限和角色,包括分配给各个用户的 Cloud Composer 角色。确保只有获得批准的用户才能访问 Airflow 界面。
通过 Airflow 界面访问权限控制机制验证分配给用户的角色(这是一种单独的机制,可提供对 Airflow 界面更精细的访问权限)。确保只有经过批准的用户才能访问 Airflow 界面,并且所有新用户都注册了适当的角色。
考虑使用 VPC Service Controls 进一步强化安全性。
无法减少 Cloud SQL 存储空间
Cloud Composer 使用 Cloud SQL 运行 Airflow 数据库。随着时间的推移,Cloud SQL 实例的磁盘存储空间可能会增加,因为当 Airflow 数据库增长时,磁盘会扩容以适应 Cloud SQL 操作存储的数据。
无法缩减 Cloud SQL 磁盘大小。
作为一种解决方法,如果您想使用最小的 Cloud SQL 磁盘大小,可以重新创建使用快照的 Cloud Composer 环境。
从 Cloud SQL 中移除记录后,数据库磁盘使用率指标未减少
关系型数据库(例如 Postgres 或 MySQL)在删除或更新行时,不会实际移除这些行。而是将它们标记为“死元组”,以保持数据一致性并避免阻塞并发事务。
MySQL 和 Postgres 都实现了在删除记录后回收空间的机制。
虽然可以强制数据库回收未使用的磁盘空间,但这是一项非常消耗资源的操作,并且还会锁定数据库,导致 Cloud Composer 无法使用。因此,建议依靠构建机制来回收未使用的空间。
过去成功执行的任务实例标记为“失败”
在某些情况和极少数情况下,过去成功的 Airflow 任务实例可能会被标记为 FAILED
。
如果发生这种情况,通常是由环境更新或升级操作触发的,也可能是由 GKE 维护触发的。
注意:此问题本身并不表示环境存在任何问题,也不会导致任务执行出现任何实际故障。
此问题已在 Cloud Composer 2.6.5 版或更高版本中得到修复。
监控中的非连续 DAG 解析时间和 DAG 包大小图表
监控信息中心上的非连续 DAG 解析时间和 DAG 包大小图表表明 DAG 解析时间过长(超过 5 分钟)存在问题。

解决方案:我们建议将总 DAG 解析时间保持在 5 分钟以内。如需缩短 DAG 解析时间,请遵循 DAG 编写指南。
不支持将环境的集群切换到 GKE Enterprise 版
此注意事项适用于 Cloud Composer 1 和 Cloud Composer 2。
Cloud Composer 环境的 GKE 集群是在 GKE Standard 版中创建的。
截至 2024 年 12 月,Cloud Composer 服务不支持创建包含 Enterprise 版集群的 Cloud Composer 环境。
Cloud Composer 环境未经过 GKE Enterprise 版测试,并且采用不同的结算模式。
有关 GKE Standard 版与 Enterprise 版的后续沟通将在 2025 年第 2 季度进行。
在项目的结算账号被删除或停用,或者 Cloud Composer API 被停用后,环境处于 ERROR 状态
受这些问题影响的 Cloud Composer 环境无法恢复:
- 项目结算账号被删除或停用后,即使后来关联了其他账号也是如此。
- 在项目中停用 Cloud Composer API 后,即使后来又启用了该 API,也会出现此问题。
您可以执行以下操作来解决此问题:
您仍然可以访问存储在环境存储分区中的数据,但环境本身不再可用。您可以创建新的 Cloud Composer 环境,然后转移 DAG 和数据。
如果您想执行任何会导致环境无法恢复的操作,请务必备份数据,例如创建环境的快照。这样一来,您就可以创建另一个环境,并通过加载此快照来转移其数据。
有关环境集群的 Pod 中断预算的警告
在 Cloud Composer 环境集群的 GKE 界面中,您可能会看到以下警告:
GKE can't perform maintenance because the Pod Disruption Budget allows
for 0 Pod evictions. Update the Pod Disruption Budget.
A StatefulSet is configured with a Pod Disruption Budget but without readiness
probes, so the Pod Disruption Budget isn't as effective in gauging application
readiness. Add one or more readiness probes.
无法消除这些警告。我们正在努力阻止生成这些警告。
可能的解决方案:
- 在问题得到解决之前,请忽略这些警告。
无法移除 Airflow 连接中的字段值
原因:
Apache Airflow 界面存在一项限制,即无法将连接字段更新为空值。当您尝试这样做时,系统会恢复为之前保存的设置。
可能的解决方案:
虽然 Apache Airflow 版本 2.10.4 包含永久性修复,但对于使用早期版本的用户,我们提供了临时性解决方法。这包括删除连接,然后重新创建连接,但要将必填字段留空。建议使用命令行界面删除连接:
gcloud composer environments run ENVIRONMENT_NAME \
--location LOCATION \
connections delete -- \
CONNECTION_ID
删除连接后,使用 Airflow 界面重新创建连接,确保您打算留空的字段确实留空。您还可以通过使用 Google Cloud CLI 运行 connections add
Airflow CLI 命令来创建连接。
如果 [core]execute_tasks_new_python_interpreter 设置为 True,则不会收集 Airflow 任务的日志
如果 [core]execute_tasks_new_python_interpreter
Airflow 配置选项设置为 True
,Cloud Composer 将不会收集 Airflow 任务的日志。
可能的解决方法:
- 移除此配置选项的替换值,或将其值设置为
False
。