谷歌Dataproc超时并杀死了经纪人

时间:2016-08-26 14:29:34

标签: solr google-compute-engine google-cloud-platform google-cloud-dataproc

我有一个google dataproc spark群集,其中包含一个主节点和16个工作节点。主人有2个cpu和13g的内存,每个工人有2个cpus和3.5g的内存。我正在运行一个相当网络密集型的工作,我有一个包含16个对象的数组,我将这个数组分成16个分区,因此每个工作者获得一个对象。这些对象产生大约250万个Web请求并聚合它们以发送回主服务器。每个请求都是Solr响应,小于50k。提取响应中的一个字段(ID,作为字符串)并将其添加到列表中以发送回主服务器。这个过程将在大约1-2个小时内完成。

然而,在执行的某个时刻,我不断收到错误,主人失去执行者的心跳并将其杀死。没有更多详细信息发送给主服务器而不是超时,工作人员的日志显示它正常运行。我尝试安装stackdriver监视,看看这是否是一个RAM问题,但代理延迟超过一个小时,它应该是最多2分钟,所以我没有任何最新的内存信息。

有没有人知道为什么会这样?我的想法可能是网络端口正在从作业中溢出,因此实例无法发送心跳或实例指标,可能是RAM问题(我尝试的相当大的RAM值得到相同的错误),或者有一些谷歌问题。

1 个答案:

答案 0 :(得分:0)

感谢@Dennis的评论,我设法发现被执行者被杀的OOM异常被抛出。我之前从未见过它,因为这个错误只是在标准输出中输出,而不是像人们期望的那样输出任何错误日志。