Dataflow N1实例持续出现SDK harness断开错误排查求助
Dataflow N1实例SDK Harness断开错误问题
我们部署了一个Dataflow管道,用于从Cloud Storage存储桶中的images提取embeddings(特征向量)并插入至BigQuery表。当该作业运行在N1类型VM实例上时,持续出现SDK harness sdk-0-1 disconnected.错误,具体报错信息如下:
Error message from worker: Data channel closed, unable to send additional data to SDK sdk-0-3 SDK harness sdk-0-1 disconnected. SDK harness sdk-0-2 disconnected. SDK harness sdk-0-0 disconnected. Data channel closed, unable to receive additional data from SDK sdk-0-3 SDK harness sdk-0-1 disconnected. SDK harness sdk-0-2 disconnected. Data channel closed, unable to receive additional data from SDK sdk-0-1
注意事项
- N2实例运行正常,但N1实例出现故障——这较为意外,因为N1是谷歌默认机型
- N1实例上作业运行更慢,有时会因上述错误直接失败
- 升级VM配置(增加内存、CPU、磁盘)无法解决该错误
- 我们另有一个从
text提取embeddings、使用LaBSE模型的管道,该管道在N1和N2实例上均出现相同错误 - 诊断标签显示:
No errors found during this interval.
已尝试的无效调整
我们通过Apache Beam 2.40 Python创建Dataflow作业模板,存储在Cloud Storage后通过API启动新作业,已尝试以下调整但均无效果:
- 在提取embeddings的阶段前对数据进行批处理,减小批处理大小也无作用
- 将管道选项
sdk_worker_parallelism从默认值0改为1,情况没有变化 - 禁用自动扩缩容(设置
max_worker=1),仍出现相同错误 - 移除管道中的Reshuffle阶段:仍存在断开错误(如
SDK harness sdk-0-0 disconnected.),但不再出现数据通道相关错误(如The Data channel closed, unable to send additional data to SDK sdk-0-3)
内容的提问来源于stack exchange,提问作者tokman
相关产品推荐
相关产品推荐

