分享

Hadoop YARN配置参数剖析(3)—权限|日志聚集|MapReduce相关配置参数

howtodown 发表于 2013-12-11 16:58:29 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 2 17181
本帖最后由 howtodown 于 2013-12-11 17:04 编辑

注意,配置这些参数前,应充分理解这几个参数的含义,以防止误配给集群带来的隐患。另外,这些参数均需要在yarn-site.xml中配置。
1.    权限相关配置参数这里的权限由三部分组成,分别是:(1)管理员和普通用户如何区分 (2)服务级别的权限,比如哪些用户可以向集群提交ResourceManager提交应用程序,(3)队列级别的权限,比如哪些用户可以向队列A提交作业等。
管理员列表由参数yarn.admin.acl指定。
服务级别的权限是通过配置hadoop-policy.xml实现的,这个与Hadoop 1.0类似
队列级别的权限是由对应的资源调度器内部配置的,比如Fair Scheduler或者Capacity Scheduler等,具体阅读后面几节。
2.    日志聚集相关配置参数日志聚集是YARN提供的日志中央化管理功能,它能将运行完成的Container/任务日志上传到HDFS上,从而减轻NodeManager负载,且提供一个中央化存储和分析机制。默认情况下,Container/任务日志存在在各个NodeManager上,如果启用日志聚集功能需要额外的配置。
(1) yarn.log-aggregation-enable
参数解释:是否启用日志聚集功能。
默认值:false
(2) yarn.log-aggregation.retain-seconds
参数解释:在HDFS上聚集的日志最多保存多长时间。
默认值:-1
(3) yarn.log-aggregation.retain-check-interval-seconds
参数解释:多长时间检查一次日志,并将满足条件的删除,如果是0或者负数,则为上一个值的1/10。
默认值:-1
(4) yarn.nodemanager.remote-app-log-dir
参数解释:当应用程序运行结束后,日志被转移到的HDFS目录(启用日志聚集功能时有效)。
默认值:/tmp/logs
(5) yarn.log-aggregation.retain-seconds
参数解释:远程日志目录子目录名称(启用日志聚集功能时有效)。
默认值:日志将被转移到目录
${yarn.nodemanager.remote-app-log-dir}/${user}/${thisParam}下

3.    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.namemapred.job.prioritymapreduce.job.prioritymapred.job.queue.namemapreduce.job.queuenamemapred.map.tasks.speculative.executionmapreduce.map.speculativemapred.reduce.tasks.speculative.executionmapreduce.reduce.speculativeio.sort.factormapreduce.task.io.sort.factorio.sort.mbmapreduce.task.io.sort.mb












自董的博客



已有(2)人评论

跳转到指定楼层
louislau318 发表于 2014-12-23 13:26:23
youyong,学习了!
回复

使用道具 举报

pig2 发表于 2015-10-17 21:40:57
 可在客户端的mapred-site.xml中配置,作为MapReduce作业的缺省配置参数。也可以在作业提交时,个性化指定这些参数。
1.jpg
  注意,MRv2重新命名了MRv1中的所有配置参数,但兼容MRv1中的旧参数,只不过会打印一条警告日志提示用户参数过期。MapReduce新 旧参数对照表可参考Java类org.apache.hadoop.mapreduce.util.ConfigUtil,举例如下:
2.jpg


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条