Google cloud dataflow 为什么谷歌管道虚拟机实例无限期地挂起?

Google cloud dataflow 为什么谷歌管道虚拟机实例无限期地挂起?,google-cloud-dataflow,google-genomics,Google Cloud Dataflow,Google Genomics,我使用Dockerflow在Google云平台上通过Google Pipelines API运行并行任务。我启动了一个单步任务,并行运行1389个虚拟机,发现其中233个虚拟机显然什么都没做,并且无限期地挂起 我对串行控制台输出进行了抽查,并反复看到虚拟机运行时出现“Getting controller config failed”(获取控制器配置失败)错误 当我尝试登录到虚拟机时,我收到错误:“连接失败。我们无法连接到端口22上的虚拟机” 我想知道为什么我的VM实例挂起了,我是否可以做些什么来

我使用Dockerflow在Google云平台上通过Google Pipelines API运行并行任务。我启动了一个单步任务,并行运行1389个虚拟机,发现其中233个虚拟机显然什么都没做,并且无限期地挂起

我对串行控制台输出进行了抽查,并反复看到虚拟机运行时出现“Getting controller config failed”(获取控制器配置失败)错误

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

我想知道为什么我的VM实例挂起了,我是否可以做些什么来避免遇到这些问题

我在下面包含了一段串行控制台输出

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.
startupscript:+++readlink-f/usr/share/google genomics/startup.sh
startupscript:++dirname/usr/share/google genomics/startup.sh
startupscript:+cd/usr/share/google genomics
startupscript:+/控制器--操作\u id--验证\u令牌--基本路径https://genomics.googleapis.com
创建控制器[2905]:获取控制器配置
创建控制器[2905]:获取控制器配置失败,将重试:Get:Get:net/http:timeout等待响应头
创建控制器[2905]:获取控制器配置失败,将重试:获取:拨号tcp 74.125.26.95:443:i/o超时
collectd[2342]:write\u gcm:向元数据服务器请求身份验证令牌
collectd[2342]:写入\u gcm:curl\u easy\u perform()失败:无法连接到服务器
collectd[2342]:write_gcm:错误-1来自wg_curl_get_或_post
collectd[2342]:写入\u gcm:wg\u传输\u唯一\u段失败。
collectd[2342]:写入\u gcm:wg\u传输\u唯一\u段失败。法拉盛。

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


从那以后你又试过了吗;你能重现这个问题吗?

在us-east1-b中有一个临时网络问题。上述3个虚拟机均位于us-east1-b。这些小事故没有出现在报告中

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

A Feb 21 19:05:06 ggp-5629907348021283130 startupscript:+。/控制器--操作id--验证令牌--基本路径 A Feb 21 19:05:06 ggp-5629907348021283130创建控制器[2689]:获取控制器配置 A Feb 21 19:05:36 ggp-5629907348021283130创建控制器[2689]:获取控制器配置失败,将重试:获取和验证令牌=:拨号tcp 173.194.212.81:443:i/o超时 A Feb 21 19:05:43 ggp-5629907348021283130控制器[2689]:切换到状态:拉取图像 A Feb 21 19:05:43 ggp-5629907348021283130控制器[2689]:调用SetOperationStatus(拉取图像) A Feb 21 19:05:44 ggp-5629907348021283130控制器[2689]:设置操作状态(拉取图像)成功

“获取控制器配置失败,将重试”正常。重试后它成功了。“SetOperationStatus(拉取映像)成功”表示网络正在工作

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


如果这些临时联网打嗝变得常见,我们可能会考虑改变管道API以某种方式检测和重试。

嗨,梅利莎,谢谢您的响应!是的,以下是一些失败的VM名称:ggp-10216049259697508221、ggp-10257299594135474280、ggp-1028157029596421767。我再试了一次,只运行了233个失败的作业,它们都成功完成了。仔细想想,VMs似乎在从googlegenomicsapi服务器()获取数据时遇到了错误。我在想,我可能只是超载了,但一次提交了1000多份工作。