【问题标题】:ERROR: gcloud crashed (TransferRetryError): Bad Request错误:gcloud 崩溃(TransferRetryError):错误请求
【发布时间】:2019-06-19 07:48:07
【问题描述】:

我正在运行一项日常数据处理工作 (pyspark),已经运行了一年。今天,我们收到以下错误:

ERROR: gcloud crashed (TransferRetryError): Bad Request

在作业执行快结束时,我们连续两次收到错误。但它不会发生在工作的特定点上。

我没有看到太多关于此错误的信息,因此我想了解更多有关它以及可能导致它的原因。

【问题讨论】:

  • 工作现在似乎工作正常。我猜这与工作记录有关,但我不知道。

标签: gcloud google-cloud-dataproc


【解决方案1】:

看起来这可能是由于 gcloud 的某种(瞬时?)(网络?)错误,而不是作业本身失败。

为了将来参考,如果在作业执行过程中发生这种情况,您可以随时重新运行 gcloud 以轮询作业是否完成。这样做将从头打印出所有驱动程序日志并继续照常流式传输直到完成:

gcloud dataproc jobs wait <job-id> [--region=<region>]

如果您不确定对应的作业 ID,则应该在作业提交时打印出来。您还可以列出给定集群的作业:

gcloud dataproc jobs list --cluster=<cluster> [--region=<region>]

【讨论】:

  • 是的,我也是这么想的,但这并不理想,因为作业提交命令失败了,所以我需要实现某种检查逻辑来仔细检查它是否真的失败了。
  • 不幸的是,这是当前 gcloud 客户端实现的限制。如果您正在围绕 Dataproc 编写自动化,并且希望在作业 提交 本身失败时重新提交(而不是轮询结果),则应使用 Dataproc client libraries 之一。这些客户端库基于 gRPC,可以轻松配置高级重试逻辑。
猜你喜欢
  • 2019-08-26
  • 2021-10-29
  • 1970-01-01
  • 1970-01-01
  • 2018-09-13
  • 2020-08-24
  • 2019-09-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多