Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 用“点燃无限期的等待”;要求发送地图输出位置以进行洗牌“;_Apache Spark_Yarn_Hadoop2 - Fatal编程技术网

Apache spark 用“点燃无限期的等待”;要求发送地图输出位置以进行洗牌“;

Apache spark 用“点燃无限期的等待”;要求发送地图输出位置以进行洗牌“;,apache-spark,yarn,hadoop2,Apache Spark,Yarn,Hadoop2,我的工作经常伴随着这样的信息: 14/09/01 00:32:18 INFO spark.MapOutputTrackerMasterActor: Asked to send map output locations for shuffle 0 to spark@*:37619 如果有人能解释Spark在吐出这条信息时在做什么,那就太好了。这个信息是什么意思?用户可能做错了什么导致这种情况?应该调整哪些可配置程序 调试起来真的很难,因为它不发出OOM,它不给出ST,它只是坐啊坐啊坐 这是Spa

我的工作经常伴随着这样的信息:

14/09/01 00:32:18 INFO spark.MapOutputTrackerMasterActor: Asked to send map output locations for shuffle 0 to spark@*:37619
如果有人能解释Spark在吐出这条信息时在做什么,那就太好了。这个信息是什么意思?用户可能做错了什么导致这种情况?应该调整哪些可配置程序

调试起来真的很难,因为它不发出OOM,它不给出ST,它只是坐啊坐啊坐

这是Spark的一个问题,至少早在1.0.0版本就存在了,并且Spark 1.5.0仍在进行中,因为Spark的最新版本在洗牌方面做得更好(如果仍然失败,则报告错误)。此外,还提到了以下提示:

这很可能是因为序列化映射输出位置缓冲区 超过akka帧大小。请尝试设置“spark.akka.frameSize” (默认为10 MB)设置为更高的数字,如64或128

例如,在最新版本的Spark中,这将抛出一个更好的错误 它的价值

可能的解决方法:

如果groupByKey中的键分布不均匀(有些 键出现的方式比其他方式更频繁)你应该考虑修改 您的工作是尽可能使用reduceByKey

和一条侧线:

通过为每个执行者分配一个内核,我解决了这个问题

也许您的executor内存配置应该除以executor内核


也许是僵局?你能通过
jstack
粘贴线程的堆栈跟踪吗?你能复制它吗,或者它只是偶尔发生?