排查 Dataflow 网络问题

本页面介绍了如何解决 Dataflow 网络问题。

如果网络资源处于自定义子网模式,则网络接口必须指定子网

运行 Dataflow 作业时发生以下错误:

Workflow failed. Causes: Invalid Error: Message: Invalid value for field
'resource.properties.networkInterfaces[0].subnetwork': ''. Network interface
must specify a subnet if the network resource is in custom subnet mode. HTTP
Code: 400

如果名为 default 的 VPC 网络从自动模式 VPC 网络转换为自定义模式 VPC 网络,则会发生此问题。

如需解决此问题,请在使用自定义模式 VPC 网络时指定子网参数。如需了解详情,请参阅指定网络和子网

不允许对此资源进行跨项目引用

在共享 VPC 网络上运行 Dataflow 作业时发生以下错误:

Invalid value for field 'resource.properties.networkInterfaces[0].subnetwork':
'https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNETWORK'.
Cross-project references for this resource are not allowed.

如果您在共享 VPC 网络中指定了子网,但服务项目未关联到共享 VPC 宿主项目,则会发生此问题。

如需解决此问题,共享 VPC 管理员必须将服务项目关联到宿主项目

网络或子网无法由 Dataflow 服务账号访问或不存在

尝试运行 Dataflow 作业时发生以下错误之一。任务失败。

Workflow failed. Causes: Network default is not accessible to Dataflow Service
account or does not exist
Workflow failed. Causes: Subnetwork SUBNETWORK is not
accessible to Dataflow Service account or does not exist

出现此问题的原因如下:

  • 您在创建 Dataflow 作业时同时省略了子网和网络参数,但项目中不存在名为 default 的自动模式 VPC 网络。如果默认网络已被删除,或者组织政策限制条件阻止您创建默认网络,则您可能没有默认网络。
  • 缺少子网。
  • 未正确指定子网参数。
  • 缺少 Dataflow 服务账号所需的权限。

如需解决此问题,请按照有关指定网络和子网的指南进行操作。

RPC 超时或未能在端口 12345 或 12346 上连接

运行未使用 Streaming Engine 或 Dataflow Shuffle 的 Dataflow 作业时发生以下错误之一。作业卡住或失败。

对于流处理作业:

Rpc to WORKER_HARNESS:12345 completed with error
UNAVAILABLE: failed to connect to all addresses; last error : UNKNOWN:
ipv4:WORKER_IP_ADDRESS:12345: Failed to connect to remote
host: FD Shutdown

对于批量作业:

(g)RPC timed out when SOURCE_WORKER_HARNESS talking to
DESTINATION_WORKER_HARNESS:12346.

如果缺少允许在 TCP 端口 1234512346 上传递网络流量的防火墙规则,则会发生此问题。作业使用多个工作器时,这些工作器无法相互通信。

如需解决此问题,请参阅 DEADLINE_EXCEEDED 或服务器无响应中的问题排查步骤。

单个工作器反复启动和停止

启动 Dataflow 作业时发生以下问题。在 Dataflow 作业的作业指标页面上,CPU 利用率(所有工作器)图表显示某个工作器反复启动,然后在几分钟后停止。在给定时间只有一个工作器可用。

CPU 利用率图表,显示每次反复创建一个工作器,然后停止。

发生以下错误:

The Dataflow job appears to be stuck because no worker activity has been seen
in the last 1h. Please check the worker logs in Stackdriver Logging.

系统不会创建工作器日志。

作业日志中可能会出现类似于以下内容的多条消息:

Autoscaling: Raised the number of workers to 1 based on the rate of progress in
the currently running stage(s).

如果 VPC 网络没有到互联网的默认路由以及到子网的默认路由,则会发生此问题。

如需解决此问题,请向 VPC 网络添加默认路由。如需了解详情,请参阅 Dataflow 的互联网访问权限

子网没有专用 Google 访问通道

启动停用了外部 IP 地址的 Dataflow 作业时发生以下错误:

Workflow failed. Causes: Subnetwork SUBNETWORK on project
PROJECT_ID network NETWORK in
region REGION does not have Private Google Access, which
is required for usage of private IP addresses by the Dataflow workers.

如果您在未启用专用 Google 访问通道的情况下关闭外部 IP 地址,则会发生此问题。

如需解决此问题,请为 Dataflow 作业使用的子网启用专用 Google 访问通道