- YARN配置参数介绍
通信地址类参数:
参数名称 | 默认值 | 说明 |
Yarn.resourcemanager.address | 0.0.0.0:8032 | RM对外的IPC地址 |
Yarn.resourcemanager.scheduler.address | 0.0.0.0:8030 | 调度器对外的IPC地址 |
Yarn.resourcemanager.resource-tracker.address | 0.0.0.0:8031 | ResourceTracker对外的IPC地址 |
Yarn.resourcemanager.admin.address | 0.0.0.0:8033 | RM Admin对外的IPC地址 |
Yarn.resourcemanager.webapp.address | 0.0.0.0:8080 | RM的web访问地址 |
Yarn.nodemanager.aux-services | - | 附属服务名称,如果使用mapreduce,需将之配置为mapreduce-shuffle |
目录类参数:
参数名称 | 默认值 | 说明 |
Yarn.nodemanager.local-dirs | ${hadoop.tmp.dir/nm-local-dir} | NM存放临时文件的本地目录 |
Yarn.nodemanager.log-dirs | ${yarn.log.dir}/userlogs | NM存放Container日志的本地目录 |
Yarn.nodemanager.log.retain-seconds | 10800 | Container日志在nodemanager上的日志保存时间(未启用日志聚集功能下有效) |
Yarn.nodemanager.remote-app-log-dir | /tmp/logs | Contanier日志在HDFS存放位置(启用日志聚集功能下有效) |
Yarn.nodemanager.remote-app-log-dir-suffix | Logs | 日志目录后缀(启用日志聚集功能时有效) |
资源类参数:
参数名称 | 默认值 | 说明 |
Yarn.nodemanager.resource.cpu-vcores | 8 | NM上可用虚拟CPU数目 |
Yarn.nodemanager.resource.memory-mb | 8192 | NM上可用内存量,单位MB |
Yarn.nodemanager.vmem-pmem-ratio | 2.1 | 每使用1MB物理内存,最多可使用虚拟内存量 |
Yarn.scheduler.maximum-allocation-mb | 8192 | 单个Container可申请的最多内存资源 |
Yarn.scheduler.minimum-allocation-mb | 1024 | 单个Container可申请的最少内存资源 |
Yarn.scheduler.maximum-allocation-vcores | 32 | 单个Container可申请的最多虚拟CPU个数 |
Yarn.scheduler.minimum-allocation-vcores | 1 | 单个Container可申请的最少虚拟CPU个数 |
安全类参数:
参数名称 | 默认值 | 说明 |
Yarn.acl.enable | True | 是否启用ACL |
Yarn.admin.acl | * | 集群管理员列表 |
Yarn.resourcemanager.nodes.include-path | -- | 节点白名单 |
Yarn.resourcemanager.nodes.exclude-path | -- | 节点黑名单 |
节点健康状况监测参数:
参数名称 | 默认值 | 说明 |
Yarn.nodemanager.health-checker.script.path | -- | 健康检测脚本所在的绝对路径,服务node-healthscriptrunner会周期性执行该脚本以判断节点健康状况,如果该值为空,则不会启动该线程 |
Yarn.nodemanager.health-checker.interval-ms | 600 000 | 健康监测脚本调用频率(毫秒) |
Yarn.nodemanager.health-checker.script.opts | -- | 监控脚本的输入参数,如果多个参数则用逗号隔开 |
Yarn.nodemanager.disk-health-checker.enable | True | 是否开启磁盘健康j检测功能 |
Yarn.nodemanager.disk-health-checker.min-healthy-disks | 0.25 | 最低健康磁盘比率,若低于该比值,nodemanager将不会收到新任务 |
Mapreduce配置参数介绍mapred-site.xml
其他参数:
参数名称 | 默认值 | 说明 |
Yarn.resourcemanager.scheduler.class | Org.apache.hadoop.yarn. server.resourcemanager.scheduler. capacity.CapacityScheduler | 调度器类 |
Yarn.log-aggregation-enable | False | 是否启用日志聚集功能 |
Yarn.resourcemanager.resource-tracker. client.thread-count | 50 | Resourcemanager启动的处理ApplicationMasterRPC请求的Handler数目 |
Yarn.resourceManger.nodemanagers.heartbeat-interval-ms | 1000 | NodeManager心跳间隔(毫秒) |
客户端设置:
参数名称 | 默认值 | 说明 |
Mapreduce.framework.name | Local | mapreduce的运行时环境,需将之设置为yarn |
Mapreduce.job.reduce.shuffle. Consumer.plugin.class | Org.apache.hadoop.mapreduce. Task.reduce.shuffle | shuffle实现,必须实现接口,org.apache.hadoop.mapreduce.shuffleConsumerPlugin |
Mapreduce job history server:
参数名称 | 默认值 | 说明 |
Mapreduce.jobhistory.address | 0.0.0.0:10020 | Mapreduce job history server的IPC地址 |
Mapreduce.jobhistory.webapp.address | 0.0.0.0:19888 | Mapreduce job history server 的web地址 |
个性化配置:
参数名称 | 默认值 | 说明 |
Mapreduce.job.name | --- | 作业名称 |
Mapreduce.job.priority | Normal | 作业优先级 |
Yarn.app.mapreduce.am.resource.mb | 1536 | MR ApplicationMaster占用的内存量 |
Yarn.app.mapreduce.am.resource.cpu-vcores | 1 | Mr applicationmaster占用的虚拟cpu个数 |
Mapreduce.am.max-attempts | 2 | MR Applicationmaster最大失败尝试次数 |
Mapreduce.map.memory.mb | 1024 | 每个map task需要的内存量 |
Mapreduce.map.cpu.vcores | 1 | 每个map task需要的虚拟cpu个数 |
Mapreduce.map.maxattmpts | 4 | Map task最大失败尝试次数 |
Mapreduce.reduce.memory.mb | 1024 | 每个reduce task需要的内存量 |
Mapreduce.reduce.cpu.vcores | 1 | 每个reduce task需要的虚拟cpu个数 |
Mapreduce.reduce.maxattempts | 4 | Reducetask最大失败尝试次数 |
Mapreduce.reduce.speculative | False | 是否对map task启用推测执行机制 |
Mapreduce.reduce.speculative | False | 是否对reduce task启用推测执行机制 |
Mapreduce.job.queuename | Default | 作业提交到的队列 |
Mapreduce.task.io.sort.mb | 100mb | 任务内部排序缓冲区大小 |
Mapreduce.map.sort.spill.percent | 0.8 | map阶段溢写文件的阈值(排序缓冲区大小的百分比) |
Mapreduce.reduce.shuffle.parallelcopies | 5 | Reduce task 启动的并发复制数据的线程数目 |
Mapreduce新旧参数对照表
过期参数 | 新参数名 |
Mapred.job.name | Mapreduce.job.name |
Mapred.job.priority | Mapreduce.job.priority |
Mapred.job.queuename | Mapreduce.job.queuename |
Mapred.map.tasks.speculative.execution | Mapreduce.map.speculative |
Mapred.reduce.tasks.speculative.execution | Mapreduce.reduce.speculative |
Io.sort.factor | Mapreduce.task.io.sort.factor |
Io.sort.mb | Mapreduce.task.io.sort.mb |