我管理一个包含多台机器的集群,这些机器与其他同事共享。一些使用Spark和一些使用Map减少。
spark用户通常会打开一个上下文,并将其打开数天或数周,而在mr中,作业是从开始到结束的。
问题是,很多时候,mr工作都会堆积起来,因为:
在map阶段的x%之后,它开始运行减速器。
最终你有很多减速器在运行,只有5-15个Map等待执行。
此时没有足够的内存来启动一个新的map,并且reducer不能超过33%,因为map还没有完成产生死锁。
解决这个问题的唯一方法是杀死一个spark上下文并让Map完成。
有没有办法配置Yarn来避免这个问题?
谢谢。
暂无答案!
目前还没有任何答案,快来回答吧!