CDH集群中YARN的参数配置 前言:Hadoop 2.0之后,原先的MapReduce不在是简单的离线批处理MR任务的框架,升级为MapReduceV2(Yarn)版本,也就是把资源调度和任务分发两块分离开来。而在最新的CDH版本中,同时集成了MapReduceV1和MapReduceV2(Yarn)两个版本,如果集群中需要使用Yarn做统一的资源调度,建议使用Yarn。 CDH对Yarn的部分参数做了少了修改,并且添加了相关的中文说明,本文着重介绍了CDH中相比 MapReduceV1一些参数改动的配置。 一、CPU配置ApplicationMaster虚拟 CPU 内核 yarn.app.mapreduce.am.resource.cpu-vcores // ApplicationMaster占用的cpu内核数(Gateway--资源管理) 容器虚拟 CPU 内核 yarn.nodemanager.resource.cpu-vcores //单 个NodeManager 最大能分配的cpu核数(NodeManager --资源管理) 结论:当前 nodemanager 申请的 ApplicationMaster数总 和小于 nodemanager最大cpu内核数 二、内存配置容器内存 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--资源管理 ) 三、同一个Map或者Reduce 并行执行 Map 任务推理执行 mapreduce.map.speculative //Gateway Reduce 任务推理执行 mapreduce.reduce.speculative //Gateway 四、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--性能) 五、其他参数给spark加日志编辑 spark-defaults.conf spark.yarn.historyServer.address=http://cloud003:18080/ |
更多精彩内容请关注:http://bbs.superwu.cn
关注超人学院微信二维码:
关注超人学院java免费学习交流群:
来源:oschina
链接:https://my.oschina.net/u/2273204/blog/422341