mapredsite.xml 基本配置参考 北漂

说明:这是hadoop2.x版本的参数。下面的value都是参数默认值。

常用配置:

♥♥♥

1.mapreduce.job.hdfs-servers

value:${fs.defaultFS}   

说明:job客户端参数。

2.mapreduce.task.io.sort.factor

value:10

说明:在Reduce Task阶段,排序文件时一次合并的流的数量。 这决定了打开文件句柄的数量。也即是一次合并的文件数据,每次合并的时候选择最小的前10进行合并。

3.mapreduce.task.io.sort.mb

value:100

说明:排序文件时使用的缓冲区内存总量,以兆字节为单位。 默认情况下,为每个合并流提供1MB,这应该最小化搜索。

4.mapreduce.map.sort.spill.percent

value:0.8

说明:Map阶段溢写文件的阈值(排序缓冲区大小的百分比)。

5.mapreduce.jobtracker.address

value:local

说明:MapReduce作业跟踪器运行的主机和端口。 如果是“本地”,则作业将作为单个映射在进程中运行并减少任务。

6.mapreduce.job.maps

value:2

说明:单个任务的map数量。

7.mapreduce.job.reduces

value:1

说明:单个任务的reduce数量。

 8.mapreduce.job.running.map.limit

value:0

说明:单个任务并发的最大map数,0或负数没有限制

9.mapreduce.job.running.reduce.limit

value:0

单个任务并发的最大reduce数,0或负数没有限制

10.mapreduce.job.max.map

value:-1

说明:单个任务允许的最大map数,-1表示没有限制。

11.mapreduce.job.max.split.locations

value:10

说明:分片数量

12.mapreduce.job.split.metainfo.maxsize

value:10000000

说明:split的元数据信息数量,如果value为-1,则没有限制

13.mapreduce.map.maxattempts

value:4

说明:每个 Map Task 最大重试次数,一旦重试参数超过该值,则认为 Map Task 运行失败。

14.mapreduce.reduce.maxattempts

value:4

说明:每个 reduce Task 最大重试次数,一旦重试参数超过该值,则认为 reduce Task 运行失败。

15.mapreduce.reduce.shuffle.parallelcopies

value:5

说明:Reduce Task启动的并发拷贝数据的线程数目

 16.mapreduce.task.timeout

value:600000

说明:如果任务既不读取输入,也不写入输出,也不更新其状态字符串,则任务终止之前的毫秒数。0表示禁用超时。

17.mapreduce.map.memory.mb

value:1024

说明:每个Map Task需要的内存量

18.mapreduce.map.cpu.vcores

value:1

说明:每个Map Task需要的虚拟CPU个数

19.mapreduce.reduce.memory.mb

value:1024

说明:每个Reduce Task需要的内存量

20.mapreduce.reduce.cpu.vcores

value:1

说明:每个Reduce Task需要的虚拟CPU个数

21.mapred.child.java.opts

value:-Xmx200m

说明:jvm启动的子线程可以使用的最大内存。建议值-XX:-UseGCOverheadLimit -Xms512m -Xmx2048m -verbose:gc -Xloggc:/tmp/@taskid@.gc

22.yarn.app.mapreduce.am.resource.mb

value:1536

说明:MR ApplicationMaster占用的内存量。

23.yarn.app.mapreduce.am.resource.cpu-vcores

value:1

说明:MR ApplicationMaster占用的虚拟CPU个数。

24.mapreduce.jobhistory.address

value:0.0.0.0:10020

说明:指定历史服务器的地址和端口

25.mapreduce.jobhistory.webapp.address

value:0.0.0.0:19888

说明:历史服务器的web地址

26.mapreduce.map.java.opts

value:-Xmx1024m

说明:每个map任务的jvm需要的内存量,一般为map内存的0.8

27.mapreduce.reduce.java.opts

value:

说明:每个reduce任务jvm需要的内存量。为reduce内存量的0.8

28.mapreduce.map.output.compress

value:false

说明: map输出是否进行压缩,如果压缩就会多耗cpu,但是减少传输时间,如果不压缩,就需要较多的传输带宽,默认是false。配合 mapreduce.map.output.compress.codec使用

29.mapreduce.map.output.compress.codec

value:org.apache.hadoop.io.compress.DefaultCodec

 

 

不常用配置:

1.mapreduce.local.clientfactory.class.name

value:org.apache.hadoop.mapred.LocalClientFactory

说明:这是负责创建本地作业运行客户端的客户端工厂。

2.mapreduce.jobtracker.system.dir

value:${hadoop.tmp.dir}/mapred/system

说明:MapReduce存储控制文件的目录,可配置多块硬盘,逗号分隔。

3.mapreduce.jobtracker.staging.root.dir

value:${hadoop.tmp.dir}/mapred/staging

说明:用来存放与每个job相关的数据

4.mapreduce.cluster.temp.dir

value:${hadoop.tmp.dir}/mapred/temp

说明:用来存放临时文件共享的目录。

5.mapreduce.job.reducer.preempt.delay.sec

value:0

说明:

6.mapreduce.reduce.shuffle.fetch.retry.enabled

value:${yarn.nodemanager.recovery.enabled}

说明:设置主机重新启动期间启用提取重试。

7.mapreduce.reduce.shuffle.fetch.retry.interval-ms

value:1000

说明:提取器重试再次获取的时间间隔。

8.mapreduce.reduce.shuffle.fetch.retry.timeout-ms

value:30000

说明:取回超时时间

9.mapreduce.reduce.shuffle.retry-delay.max.ms

value:60000

说明:在重试下载map数据之前,reducer将延迟的最大ms数。

10.mapreduce.reduce.shuffle.connect.timeout

value:180000

说明:reduce task 连接map的超时时间,以毫秒为单位。

11.mapreduce.reduce.shuffle.read.timeout

value:180000

说明:map 输出数据,reduce连接以后可用于读取的最长时间,以毫秒为单位。

12.mapreduce.shuffle.listen.queue.size

value:128

说明:shuffle侦听队列的长度

13.mapreduce.shuffle.connection-keep-alive.enable

value:false

说明:是否保持活跃连接,默认为false。

14.mapreduce.shuffle.connection-keep-alive.timeout

value:5

说明:保持活跃连接的秒数。

15.yarn.app.mapreduce.am.log.level

value:info

说明:MR ApplicationMaster的日志记录级别。 允许的级别为:OFF,FATAL,ERROR,WARN,INFO,DEBUG,TRACE和ALL。 如果设置了“mapreduce.job.log4j-properties-file”,则可以覆盖此处的设置。

16.mapreduce.map.log.level

value:info

说明:map任务的日志记录级别。 允许的级别为:OFF,FATAL,ERROR,WARN,INFO,DEBUG,TRACE和ALL。 如果设置了“mapreduce.job.log4j-properties-file”,则可以覆盖此处的设置。

17.mapreduce.reduce.log.level

value:info

说明:reduce任务的日志记录级别。 允许的级别为:OFF,FATAL,ERROR,WARN,INFO,DEBUG,TRACE和ALL。 如果设置了“mapreduce.job.log4j-properties-file”,则可以覆盖此处的设置。

18.mapreduce.reduce.merge.inmem.threshold

value:1000

说明:设置了Map任务在缓存溢出前能够保留在内存中的输出个数的阈值(默认1000),只要一个满足,输出数据都将会写到磁盘。

19.mapreduce.reduce.shuffle.merge.percent

value:0.66

说明:决定缓存溢出到磁盘的阈值(默认0.66),即占用分配给map输出总内存的百分比。

20.mapreduce.reduce.shuffle.input.buffer.percent

value:0.70

说明:Reduce任务对多个Map任务的输出结果进行合并时,占用的缓存空间在堆栈空间中的占用比例(默认0.70)。

21.mapreduce.reduce.input.buffer.percent

value:0

说明:reduce函数开始运行时,内存中的map输出所占的堆内存比例不得高于这个值,默认情况内存都用于reduce函数,也就是map输出都写入到磁盘

22.mapreduce.reduce.shuffle.memory.limit.percent

value:0.25

说明:一个单一的shuffle的最大内存使用限制

23.mapreduce.shuffle.ssl.enabled

value:false

说明:是否将SSL用于Shuffle HTTP端点。

24.mapreduce.shuffle.ssl.file.buffer.size

value:65536

说明:使用SSL时从文件读取溢出的缓冲区大小。

配置文件常用配置:

 <property>
         <name>mapreduce.map.memory.mb</name>
         <value>1024</value>
   </property>

   <property>
         <name>mapreduce.map.java.opts</name>
         <value>-Xmx819M</value>
   </property>

   <property>
         <name>mapreduce.reduce.memory.mb</name>
         <value>2048</value>
   </property>

   <property>
         <name>mapreduce.reduce.java.opts</name>
         <value>-Xmx1638M</value>
   </property>

   <property> 
         <name>mapreduce.task.io.sort.mb</name>
         <value>512</value>
   </property>

   <property>
         <name>mapreduce.task.io.sort.factor</name>
         <value>100</value>
   </property>
    <property>
    <name>mapreduce.tasktracker.http.threads</name>
<value>100</value>
</property>
   <property>
         <name>mapreduce.reduce.shuffle.parallelcopies</name>
         <value>100</value>
   </property>
    <property>
         <name>mapreduce.map.output.compress</name>
         <value>true</value>
   </property>
    <property>
         <name>mapreduce.map.output.compress.codec</name>
         <value>org.apache.hadoop.io.compress.DefaultCodec</value>
   </property>
   <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.jobtracker.address</name>
        <value>master:11211</value>
    </property>
原文地址:https://www.cnblogs.com/yjt1993/p/9476573.html