CDH集群中YARN的参数配置

CDH集群中YARN的参数配置

前言:Hadoop 2.0以后,原先的MapReduce不在是简单的离线批处理MR任务的框架,升级为MapReduceV2(Yarn)版本,也就是把资源调度和任务分发两块分离开来。而在最新的CDH版本中,同时集成了MapReduceV1和MapReduceV2(Yarn)两个版本,若是集群中须要使用Yarn作统一的资源调度,建议使用Yarn。node

CDH对Yarn的部分参数作了少了修改,而且添加了相关的中文说明,本文着重介绍了CDH中相比 MapReduceV1一些参数改动的配置。app

1、CPU配置

ApplicationMaster 虚拟 CPU 内核框架

yarn.app.mapreduce.am.resource.cpu-vcores        // ApplicationMaster占用的cpu内核数(Gateway--资源管理 )jvm

容器虚拟 CPU 内核oop

yarn.nodemanager.resource.cpu-vcores         //单 个NodeManager 最大能分配的cpu核数 (NodeManager --资源管理 )性能

结论:当前 nodemanager 申请的 ApplicationMaster数总 和小于 nodemanager最大cpu内核数优化

2、内存配置

容器内存 spa

yarn.nodemanager.resource.memory-mb      //单个NodeManager能分配的最大内存(NodeManager --资源管理) //Memory Total = 单个NodeManager内存 * 节点数日志

结论:提交任务占用内存Memory Used 小于Memory Total内存

Map 任务内存

mapreduce.map.memory.mb                           //为做业的每一个 Map 任务分配的物理内存量 (Gateway--资源管理 )

结论:map或reduce的内存需求不大于appmaster的内存需求

最大容器内存

yarn.scheduler.maximum-allocation-mb      //单个任务可申请最大内存 (ResourceManager--资源管理 )

3、同一个Map或者Reduce 并行执行

Map 任务推理执行

mapreduce.map.speculative                        //Gateway

Reduce 任务推理执行

mapreduce.reduce.speculative                    //Gateway

4、JVM重用

启用 Ubertask 优化 :

mapreduce.job.ubertask.enable | (默认false)     //true则表示启用jvm重用(Gateway--性能 )

jvm重用的决定参数以下:

Ubertask 最大 Map  

mapreduce.job.ubertask.maxmaps                    //超过多少个map启用jvm重用(Gateway--性能)

Ubertask 最大 Reduce  

mapreduce.job.ubertask.maxreduces                //超过多少  Reduce  启用jvm重用,目前支持1个 (Gateway--性能)

Ubertask 最大做业大小

mapreduce.job.ubertask.maxbytes                   //application的输入大小的阀值,默认为 block大小(Gateway--性能)

5、其余参数

给spark加日志编辑 spark-defaults.conf

spark.yarn.historyServer.address=http://cloud003:18080/

相关文章
相关标签/搜索