【发布时间】:2015-01-13 00:56:47
【问题描述】:
我对 Hadoop 系统非常陌生,并且处于学习阶段。
我在 Shuffle 和 Sort 阶段注意到,只要 MapOutputBuffer 达到 80%,就会发生溢出(我认为这也可以配置)。
现在为什么需要溢出阶段?
是不是因为 MapOutputBuffer 是一个循环缓冲区,如果我们不清空它可能会导致数据覆盖和内存泄漏?
【问题讨论】:
我对 Hadoop 系统非常陌生,并且处于学习阶段。
我在 Shuffle 和 Sort 阶段注意到,只要 MapOutputBuffer 达到 80%,就会发生溢出(我认为这也可以配置)。
现在为什么需要溢出阶段?
是不是因为 MapOutputBuffer 是一个循环缓冲区,如果我们不清空它可能会导致数据覆盖和内存泄漏?
【问题讨论】:
我写了一篇很好的文章来介绍这个主题:http://0x0fff.com/hadoop-mapreduce-comprehensive-description/
一般:
mapreduce.task.io.sort.mb 设置
【讨论】: