我从许多Hadoop相关页面中发现,在Hadoop 2中,许多mapred-site配置不再起作用,而是使用了yarn-site.xml。但如果是这样,为什么仍然保持mapred-site.xml?
答案 0 :(得分:0)
对于Hadoop v2,mapred-site.xml仍在使用中。你有一个名为 mapreduce.framework.name 的新属性,它的值是执行MapReduce作业的运行时框架,它可以是 local , classic 或纱线。如果使用 local ,则映射器和reducer进程将在同一个JVM中执行,通常这样做是出于调试目的(只有一个reducer可以使用 local 运行时启动) 。如果您使用 classic ,传统的MR v1将会起作用,如果您提及 yarn ,MR v2将会起作用。
当您使用YARN运行时进行MapReduce作业时,mapper和reducer进程将在容器中生成,mapred-site.xml文件可用于为mapreduce容器指定系统资源(例如内存和v-cpu)。请记住,容器的内存和v-cpu的上限是在yarn-site.xml中设置的。查看mapred-site.xml中的以下属性。
答案 1 :(得分:0)
mapred-site.xml仍在使用中。查看here以获取所有默认值。
查看here以获取Hadoop V2中的新属性,以替代Hadoop V1的弃用属性。
几个例子:
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