我从许多Hadoop相关页面中发现,在Hadoop 2中,许多映射的站点配置不再工作,而是使用了yarn-site.xml。但如果是这样,为什么仍然保留mapred-site.xml?
对于Hadoop v2,mapred-site.xml仍在使用中。您有一个名为mapreduce.framework.name的新属性,它的值是执行mapreduce作业的运行时框架,它可以是本地、经典或纱线之一。如果使用local,则映射程序和reducer进程将在同一JVM中执行,通常您这样做是为了调试目的(使用localruntime只能启动一个reducer)。如果您使用classic,则传统的MR v1将起作用,如果您提到纱线则MR v2将起作用。
当您将YARN运行时用于MapReduce作业时,您的映射器和reducer进程将在容器中生成,mapred-site.xml文件可用于为MapReduce容器指定系统资源(例如内存和v-cpu)。请记住,容器的内存和v-cpu的上限是在yarn-site.xml中设置的
- mapreduce.map.memory.mb
- mapreduce.map.cpu.vcores
- mapreduce.reduced.mb.mb
- mapreduce.dreduce.cup.vcores
mapred-site.xml
yarn-site.xml
mapred-site.xml仍在使用中。在此处查找所有默认值。
在这里查找HadoopV2中的新属性,以替换HadoopV1中不推荐使用的属性。
几个例子:
mapred.map.child.env mapreduce.map.env
mapred.map.child.java.opts mapreduce.map.java.opts
mapred.map.child.log.level mapreduce.map.log.level
mapred.map.max.attempts mapreduce.map.maxattempts
mapred.map.output.compression.codec mapreduce.map.output.compress.codec
mapred.mapoutput.key.class mapreduce.map.output.key.class
mapred.mapoutput.value.class mapreduce.map.output.value.class
mapred.mapper.regex.group mapreduce.mapper.regexmapper..group
mapred.mapper.regex mapreduce.mapper.regex
mapred.map.task.debug.script mapreduce.map.debug.script
mapred.map.tasks mapreduce.job.maps