MapReduce相关参数

MapReduce相关配置参数分为两部分,分别是JobHistory Server和应用程序参数,Job History可运行在一个独立节点上,而应用程序参数则可存放在mapred-site.xml中作为默认参数,也可以在提交应用程序时单独指定,注意,如果用户指定了参数,将覆盖掉默认参数。

以下这些参数全部在mapred-site.xml中设置。

1.    MapReduce JobHistory相关配置参数

在JobHistory所在节点的mapred-site.xml中配置。

(1) mapreduce.jobhistory.address

参数解释:MapReduce JobHistory Server地址。

默认值: 0.0.0.0:10020

(2) mapreduce.jobhistory.webapp.address

参数解释:MapReduce JobHistory Server Web UI地址。

默认值: 0.0.0.0:19888

(3) mapreduce.jobhistory.intermediate-done-dir

参数解释:MapReduce作业产生的日志存放位置。

默认值: /mr-history/tmp

(4) mapreduce.jobhistory.done-dir

参数解释:MR JobHistory Server管理的日志的存放位置。

默认值: /mr-history/done

2.    MapReduce作业配置参数

可在客户端的mapred-site.xml中配置,作为MapReduce作业的缺省配置参数。也可以在作业提交时,个性化指定这些参数。

参数名称缺省值说明
mapreduce.job.name 作业名称
mapreduce.job.priorityNORMAL作业优先级
yarn.app.mapreduce.am.resource.mb1536MR ApplicationMaster占用的内存量
yarn.app.mapreduce.am.resource.cpu-vcores1MR ApplicationMaster占用的虚拟CPU个数
mapreduce.am.max-attempts2MR ApplicationMaster最大失败尝试次数
mapreduce.map.memory.mb1024每个Map Task需要的内存量
mapreduce.map.cpu.vcores1每个Map Task需要的虚拟CPU个数
mapreduce.map.maxattempts4Map Task最大失败尝试次数
mapreduce.reduce.memory.mb1024每个Reduce Task需要的内存量
mapreduce.reduce.cpu.vcores1每个Reduce Task需要的虚拟CPU个数
mapreduce.reduce.maxattempts4Reduce Task最大失败尝试次数
mapreduce.map.speculativefalse是否对Map Task启用推测执行机制
mapreduce.reduce.speculativefalse是否对Reduce Task启用推测执行机制
mapreduce.job.queuenamedefault作业提交到的队列
mapreduce.task.io.sort.mb100任务内部排序缓冲区大小
mapreduce.map.sort.spill.percent0.8Map阶段溢写文件的阈值(排序缓冲区大小的百分比)
mapreduce.reduce.shuffle.parallelcopies5Reduce Task启动的并发拷贝数据的线程数目

注意,MRv2重新命名了MRv1中的所有配置参数,但兼容MRv1中的旧参数,只不过会打印一条警告日志提示用户参数过期。MapReduce新旧参数对照表可参考Java类org.apache.hadoop.mapreduce.util.ConfigUtil,举例如下:

过期参数名新参数名
mapred.job.namemapreduce.job.name
mapred.job.prioritymapreduce.job.priority
mapred.job.queue.namemapreduce.job.queuename
mapred.map.tasks.speculative.executionmapreduce.map.speculative
mapred.reduce.tasks.speculative.executionmapreduce.reduce.speculative
io.sort.factormapreduce.task.io.sort.factor
io.sort.mbmapreduce.task.io.sort.mb

转载自:http://dongxicheng.org/mapreduce-nextgen/hadoop-yarn-configurations-mapreduce/

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MapReduce是一个分布式计算框架,其性能取决于许多因素,例如硬件配置、数据分布、算法复杂度、网络带宽等等。以下是一些MapReduce优化参数的建议: 1. 调整mapreduce.map.memory.mb和mapreduce.reduce.memory.mb参数,以确保任务有足够的内存。如果任务的内存不够,则可能会导致任务失败或运行缓慢。 2. 调整mapreduce.map.cpu.vcores和mapreduce.reduce.cpu.vcores参数,以确保任务有足够的CPU资源。如果任务的CPU资源不够,则可能会导致任务运行缓慢。 3. 调整mapreduce.task.io.sort.mb参数,以确保Map任务有足够的内存来进行排序操作。如果Map任务的内存不够,则可能会导致排序操作耗时较长。 4. 调整mapreduce.tasktracker.map.tasks.maximum和mapreduce.tasktracker.reduce.tasks.maximum参数,以确保任务能够充分利用集群资源。如果任务数量不够,则可能会导致集群资源浪费。 5. 调整mapreduce.job.reduce.slowstart.completedmaps参数,以确保Reduce任务在Map任务完成一定比例后开始执行。如果Reduce任务开始执行得太早,则可能会导致Reduce任务执行缓慢。 6. 调整mapreduce.map.speculative和mapreduce.reduce.speculative参数,以启用任务的备份执行。如果任务存在资源利用不充分的情况,则备份执行可以提高任务的执行效率。 7. 调整mapreduce.input.fileinputformat.split.minsize参数,以控制HDFS块的大小。如果块的大小过小,则可能会导致任务数量过多,从而影响任务的执行效率。 8. 调整mapreduce.jobtracker.handler.count和mapreduce.tasktracker.http.threads参数,以控制任务的处理效率。如果处理效率不够高,则可能会导致任务的执行速度缓慢。 这些参数只是MapReduce优化的一部分。要优化MapReduce性能,需要根据具体情况进行调整,并综合考虑各种因素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值