Apache Beam:同步 pod 时出错 - 在 $PATH 中找不到可执行文件

Apache Beam: Error syncing pod - executable file not found in $PATH

设置

我目前有

使用以下方法通过 CircleCI 进行部署:

python3.8 src/ingest/main.py \
  --project=<<parameters.project_id>> \
  --region=<<parameters.region>> \
  --input_subscription=<subscription_name> \
  --runner=DataflowRunner \
  --temp_location=gs://<<parameters.dataflow_bucket>>/temp \
  --template_location=gs://<template_location> \
  --service_account_email=<<parameters.service_account_email>> \
  --sdk_container_image=<sdk_image>

问题

数据流作业部署成功,可以在GCP控制台中找到。但是,当启动一个 worker 时,出现以下错误:

"Error syncing pod <id> ("<pod_name>"), skipping: [failed to "StartContainer" for "sdk0"
with RunContainerError: "failed to start container \"<hash>\": Error response from daemon: OCI runtime 
create failed: container_linux.go:380: starting container process caused: 
exec: \"--logging_endpoint=localhost:12370\": executable file not found in $PATH: unknown", failed to 
"StartContainer" for "sdk1" with RunContainerError: "failed to start container \"<hash>\": Error response 
from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: 
exec: \"--logging_endpoint=localhost:12370\": executable file not found in $PATH: unknown"]"

想法

我们正在另一个项目中使用完全相同的方法,它似乎运行良好。

我看过

executable file not found in $PATH

在 docker 之前,想了解如何在 GCP 中查看 docker 特定日志以帮助进行故障排除。

目前,要查看日志,我在 Dataflow 控制台中单击错误消息,这会将我带到错误报告页面。

从那里我点击 View Logs 将我带到 Logs Explorer

我在找什么

我是 Dataflow 的新手,所以希望我只是错过了一些简单的东西。如果您需要更多信息,请告诉我。

要在 Google Cloud Console 中查看 Dataflow Docker 特定日志,您可以执行以下操作。

  • 在 Dataflow 作业视图中,单击 Worker Logs,然后单击 View logs in Explorer
  • 单击查询文本框以编辑查询。
  • 单击日志名称和select Docker