the*_*eek 10 hadoop-yarn apache-spark hadoop2
我的工作常常挂在这样的信息上:
14/09/01 00:32:18 INFO spark.MapOutputTrackerMasterActor: Asked to send map output locations for shuffle 0 to spark@*:37619
Run Code Online (Sandbox Code Playgroud)
如果有人能够解释Spark在发出此消息时正在做什么,那将会很棒.这条消息是什么意思?用户可能做错了什么?应该调整哪些配置?
这很难调试,因为它不是OOM,它不会给ST,它只是坐着坐着坐着.
至少早在1.0.0这就是Spark的一个问题,并且仍在使用Spark 1.5.0
基于此线程,最新版本的 Spark 在洗牌方面变得更好(并且如果失败则报告错误)。此外,还提到了以下提示:
这很可能是因为序列化映射输出位置缓冲区超出了 akka 帧大小。请尝试将“spark.akka.frameSize”(默认 10 MB)设置为更高的数字,例如 64 或 128。
在 Spark 的最新版本中,这会引发更好的错误,无论它的价值如何。
一个可能的解决方法:
如果 groupByKey 中的键分布不均匀(某些键比其他键出现的频率更高),您应该考虑修改您的作业以尽可能使用 reduceByKey。
还有一条小路:
通过为每个执行器只分配一个核心,我解决了这个问题。
也许你的执行程序内存配置应该除以执行程序核心数
| 归档时间: |
|
| 查看次数: |
1006 次 |
| 最近记录: |