Mesos shuffle service unusable in Spark1.6

报错提示:

WARN TaskSetManager: Lost task 132.0 in stage 2.0 (TID 5951, spark047207): java.io.FileNotFoundException: /data1/spark/tmp/blockmgr-5363024d-29a4-4f6f-bf87-127b95669c7c/1c/temp_shuffle_7dad1a33-286f-47d2-8506-da0a02e22c10

spark1.6之中,mesos粗粒度模式下为了使用动态 executor 机制,开启了MesosExternalShuffleService。结果发现只要过去2分钟,就会报找不到 shuffle 文件错误 (java.io.FileNotFoundException)。

spark driver通过 MesosExternalShuffleClient 连接到 MesosExternalShuffleService,当它断开的时候,会将所有和该driver有关系的数据清除。

在该版本中,不管driver是否存活,MesosExternalShuffleClient都会在spark.shuffle.io.connectionTimeout(或是spark.network.timeout) 设定的时间之后断开连接(因为其处于空闲状态)。shuffle文件也随之删除。

在当前版本中 MesosExternalShuffleService 是不可用的,所以也无法使用executor动态释放的特性。

这个问题将在spark2.0中进行修复
https://issues.apache.org/jira/browse/SPARK-12583

spark1.6还有一个bug,内存使用过多会直接kill掉executor,因此会直接报lost executor而不是提示OOM的错误。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容