首页 > 解决方案 > 流式数据流作业从工作人员抛出 gRPC 错误

问题描述

我的流式数据流作业(来自 Pub/Sub 源)从工作人员那里引发了多条错误消息:

Failed to read inputs in the data plane. Traceback (most recent call last): File "/usr/local/lib/python3.8/site-packages/apache_beam/runners/worker/data_plane.py", line 581, in _read_inputs for elements in elements_iterator: File "/usr/local/lib/python3.8/site-packages/grpc/_channel.py", line 416, in __next__ return self._next() File "/usr/local/lib/python3.8/site-packages/grpc/_channel.py", line 706, in _next raise self grpc._channel._MultiThreadedRendezvous: <_MultiThreadedRendezvous of RPC that terminated with: status = StatusCode.UNAVAILABLE details = "keepalive watchdog timeout" debug_error_string = "{"created":"@1619783831.069194941","description":"Error received from peer ipv6:[::1]:12371","file":"src/core/lib/surface/call.cc","file_line":1061,"grpc_message":"keepalive watchdog timeout","grpc_status":14}" >

这导致另一个错误消息:

Python sdk harness failed: Traceback (most recent call last): File "/usr/local/lib/python3.8/site-packages/apache_beam/runners/worker/sdk_worker_main.py", line 155, in main SdkHarness( File "/usr/local/lib/python3.8/site-packages/apache_beam/runners/worker/sdk_worker.py", line 256, in run for work_request in self._control_stub.Control(get_responses()): File "/usr/local/lib/python3.8/site-packages/grpc/_channel.py", line 416, in __next__ return self._next() File "/usr/local/lib/python3.8/site-packages/grpc/_channel.py", line 689, in _next raise self grpc._channel._MultiThreadedRendezvous: <_MultiThreadedRendezvous of RPC that terminated with: status = StatusCode.UNAVAILABLE details = "keepalive watchdog timeout" debug_error_string = "{"created":"@1619786284.366500317","description":"Error received from peer ipv6:[::1]:12371","file":"src/core/lib/surface/call.cc","file_line":1061,"grpc_message":"keepalive watchdog timeout","grpc_status":14}" >

从 "description":"Error received from peer ipv6:[::1]:12371","file":"src/core/lib/surface/call.cc" 这一行来看,似乎出于某种原因,这项工作无法到达数据流服务的 grpc 后端。

该错误消息是正确的还是任何其他原因?我将 Apache Beam SDK 2.28 用于 python 3.8。如果值得一提,我还使用使用 --subnetwork=https://www.googleapis.com/compute/v1/projects/.../regions/.../subnetworks/... 管道选项设置的 VPC 设置

标签: pythongoogle-cloud-dataflowgrpcapache-beam

解决方案


推荐阅读