【问题标题】:Why are Google Pipeline VM instances hanging indefinitely?为什么 Google Pipeline VM 实例无限期挂起?
【发布时间】:2017-02-11 01:13:33
【问题描述】:

我正在使用 Dockerflow 通过 Google Cloud Platform 上的 Google Pipelines API 运行并行任务。我开始了一个并行运行 1389 个 VM 的单步任务,发现其中 233 个 VM 显然什么都不做,并且无限期地挂起。

我对串行控制台输出进行了抽查,并反复看到虚拟机运行到“获取控制器配置失败”错误。

当我尝试登录虚拟机时收到错误消息:“连接失败。我们无法连接到端口 22 上的虚拟机”。

我想知道为什么我的 VM 实例会挂起,以及是否可以采取一些措施来避免遇到这些问题。

我在下面包含了串行控制台输出的 sn-p

startupscript: +++ readlink -f /usr/share/google-genomics/startup.sh
startupscript: ++ dirname /usr/share/google-genomics/startup.sh
startupscript: + cd /usr/share/google-genomics
startupscript: + ./controller --operation_id <id> --validation_token <token> --base_path https://genomics.googleapis.com
create controller[2905]: Getting controller config
create controller[2905]: Getting controller config failed, will retry: Get <link>: Get <service_account_token_link>: net/http: timeout awaiting response headers
create controller[2905]: Getting controller config failed, will retry: Get <link>: dial tcp 74.125.26.95:443: i/o timeout
collectd[2342]: write_gcm: Asking metadata server for auth token
collectd[2342]: write_gcm: curl_easy_perform() failed: Couldn't connect to server
collectd[2342]: write_gcm: Error -1 from wg_curl_get_or_post
collectd[2342]: write_gcm: wg_transmit_unique_segment failed.
collectd[2342]: write_gcm: wg_transmit_unique_segments failed. Flushing.

【问题讨论】:

    标签: google-cloud-dataflow google-genomics


    【解决方案1】:

    us-east1-b 中存在临时网络问题。上述所有 3 个虚拟机都在 us-east1-b 中。这些小事件不会出现在https://status.cloud.google.com/

    成功运行的串行控制台输出如下所示:

    A 2 月 21 日 19:05:06 ggp-5629907348021283130 启动脚本:+ ./controller --operation_id --validation_token --base_path https://autopush-genomics.sandbox.googleapis.com 2 月 21 日 19:05:06 ggp-5629907348021283130 创建控制器 [2689]:获取控制器配置 A Feb 21 19:05:36 ggp-5629907348021283130 create controller[2689]: Getting controller config failed, will retry: Get https://genomics.googleapis.com/v1alpha2/pipelines:getControllerConfig?alt=json&operationId=&validationToken=: dial tcp 173.194.212.81:443: i/o timeout A 2 月 21 日 19:05:43 ggp-5629907348021283130 控制器 [2689]:切换到状态:拉动图像 2 月 21 日 19:05:43 ggp-5629907348021283130 控制器 [2689]:调用 SetOperationStatus(pulling-image) 2 月 21 日 19:05:44 ggp-5629907348021283130 控制器[2689]:SetOperationStatus(pulling-image) 成功

    “获取控制器配置失败,将重试”很好。重试成功。 “SetOperationStatus(pulling-image) succeeded”表示网络正常。

    理论上,您可以向 Pipelines API 提交任意数量的作业,API 将负责排队。

    如果这些临时网络故障变得普遍,我们可能会考虑更改 Pipelines API 以某种方式检测并重试。

    【讨论】:

      【解决方案2】:

      可能存在临时网络问题。您能给我一些失败的操作 ID(或失败的 VM 名称)吗?

      从那以后你有没有再试一次?你能重现这个问题吗?

      【讨论】:

      • 嗨梅丽莎,感谢您的回复!是的,这里有一些失败的 VM 名称:ggp-10216049259697508221、ggp-10257299594135474280、ggp-1028157029596421767。我又试了一次,只运行了这批 233 个失败的作业,它们都成功完成了。仔细想想,VM 似乎在从 Google Genomics API 服务器 (genomics.googleapis.com/v1alpha2) 获取数据时遇到了错误。我想我可能只是超载了它,但一次提交了 1000 多个工作。
      猜你喜欢
      • 2021-09-14
      • 1970-01-01
      • 2011-05-11
      • 2022-11-16
      • 1970-01-01
      • 1970-01-01
      • 2017-06-29
      • 2011-05-07
      • 2021-04-23
      相关资源
      最近更新 更多