假设我有100个并行运行的映射器,总共有500个映射器在运行。
每个映射器接收的输入大小几乎相同,每个映射器应该采用的处理时间应该或多或少相同。
但是说前100名选手在20分钟内完成,接下来的100名选手将花费25-30分钟,下一批100名选手每人需要40-50分钟。然后我们得到GC开销错误。
为什么会这样?
我已经设置了以下配置:
<property><name>mapred.child.java.opts</name><value>-Xmx4096m</value></property>
<property><name>mapred.job.reuse.jvm.num.tasks</name><value>1</value></property>
这里还能做些什么?