11.26日记

发布时间 2023-11-27 09:02:57作者: zhangmingmingkjz
Hadoop默认会为每个Task启动一个JVM来运行,而在JVM启动时内存开销大,Job数据量大的情况,如果单个Task数据量比较小,也会申请JVM,这就导致了资源紧张及浪费的情况;

3.2.1 什么是JVM重用

    JVM重用可以使得JVM实例在同一个job中重新使用N次,当一个Task运行结束以后,JVM不会进行释放,而是继续供下一个Task运行,直到运行了N个Task以后,就会释放;

N的值可以在Hadoop的mapred-site.xml文件中进行配置,通常在10-20之间;

参数设置如下

    -- Hadoop3之前的配置,在mapred-site.xml中添加以下参数

    -- Hadoop3中已不再支持该选项

    mapreduce.job.jvm.numtasks=10