hadoop中mapreduce属性设置

来源:互联网 发布:帝国cms二次开发手册 编辑:程序博客网 时间:2024/06/06 11:37
map最大个数,单台机map线程个数
mapred.tasktracker.map.tasks.maximum

reduce最大个数
mapred.tasktracker.reduce.tasks.maximum

每个map的大小,默认64M
mapred.max.split.size

Map输出复制到Reduce的线程的数量,默认为5。根据需要可以将其增大到20-50
mapred.reduce.parallel.copies

Map和Reduce任务运行时Java虚拟机指定的内存的大小,默认-Xmx200m,分配给每个任务200MB内存。只要条件允许,应该让任务节点上的内存大小尽量大,可以将其增大到-Xmx512m,即512MB,以提高MapReduce作业的性能
mapred.child.java.opts

该属性设置整个堆空间的百分比,用于Shuffle的复制阶段分配给Map输出缓存,默认是0.70,适当增大比例可以使Map输出不被溢写到磁盘,能够提高系统性能。
mapred.job.shuffle.input.buffer.percent


设置Map输出缓存中使用比例的阈值,用于启动合并输出和磁盘溢写的过程,默认是0.66
mapred.job.shuffle.merge.percent


该属性设置启动合并输出和磁盘溢写过程的最大Map输出数量,默认为1000
mapred.inmem.merge.threshold

设置在Reduce过程中用来在内存中保存Map输出的空间占整个堆空间的比例。Reduce阶段开始时,内存中的Map输出大小不能大于这个值。默认为0.0,说明在Reduce开始前所有的Map输出都合并到硬盘中以便为Reduce提供尽可能多的内存。然而如果Reduce函数内存需求较小,可以将该值设置为1.0来提升性能。
mapred.job.reduce.input.buffer.percent

该属性设置集群中每个tasktracker用于将map输出传给reducer的工作线程的数量,默认是40。可以将其提高至40-50之间,能够增加并线线程数,提高集群性能。
tasktracker.http.threads

map超时时间
mapred.task.timeout

设置map的输出数据需要被压缩true
mapred.compress.map.output

设置map的输出数据的编码解码器
mapred.map.output.compression.codec

设置作业最后输出的数据需要被压缩
mapred.output.compress

设置作业最后输出数据的编码解码器
mapred.output.compression.codec

查看在哪个datanode上
find ./ -name "*"|xargs grep "blk_1313721828108*

查询tasktracker
jps -mvll | grep "taskID"

存储任务的输出,默认为100M
io.sort.mb

map输出合并因子,默认为10
io.sort.factor
原创粉丝点击