首页 / HADOOP / 配置Hadoop2.0的内存资源
配置Hadoop2.0的内存资源
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了配置Hadoop2.0的内存资源,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2778字,纯文字阅读大概需要4分钟。
内容图文
![配置Hadoop2.0的内存资源](/upload/InfoBanner/zyjiaocheng/557/e98541f4bafc41fcb8a7ad225fe14cb1.jpg)
在Hadoop2.0中, YARN负责管理MapReduce中的资源(内存, CPU等)并且将其打包成Container. 这样可以精简MapReduce, 使之专注于其擅长的数据处理任务, 将无需考虑资源调度. 如下图所示 YARN会管理集群中所有机器的可用计算资源. 基于这些资源YARN会调度应用(比如
在Hadoop2.0中, YARN负责管理MapReduce中的资源(内存, CPU等)并且将其打包成Container. 这样可以精简MapReduce, 使之专注于其擅长的数据处理任务, 将无需考虑资源调度. 如下图所示
本文中假设集群中每个节点的配置为48G内存, 12个硬盘, 2个hex core CPU(12 核).
1. 配置YARN
在Hadoop集群中, 平衡内存, CPU等的使用很重要, 这样才能避免整个集群的计算能力不会因为某种资源而受限. 根据Hortonworks的推荐, 每个硬盘和核1-2个Container能够达到最好的集群使用平衡. 如果集群的每个节点有12个硬盘和12个核, 那么每个节点上最好最多20个Container.
因为每个节点有48G内存, 我们为操作系统保留部分内存, 所以分配40G内存给YARN, 8G留给操作系统. 下面配置的是每个节点上YARN可以使用的最大内存.
在yarn-site.xml中
yarn.nodemanager.resource.memory-mb 40960
然后需要配置如何把这些资源分配给Container, 可以配置分配给Container的最小内存, 因为我们允许每个节点最多20个Container, 所以每个Container的内存为40G / 20 = 2G
在yarn-site.xml中
yarn.scheduler.minimum-allocation-mb 2048
2. ?配置MapReduce2
MapReduce2构建在YARN的基础之上, 使用YARN的Container来调度和运行其map和reduce任务.
在配置YARN上的MapReduce资源使用时, 需要考虑:
- 每个Map和Reduce任务的物理内存限制
- 每个任务的JVM堆栈大小
- 每个任务的虚拟内存
可以设置每个map和reduce任务的最大内存, 该值应该大于等于Container的最小内存. 比如前面我们设置每个Container的最小内存(yarn.scheduler.minimum-allocation-mb)为2GB, 所以我们可以设置map任务的内存为4GB, reduce任务的内存为8GB:
在mapred-site.xml中
mapreduce.map.memory.mb 4096 mapreduce.reduce.memory.mb 8192
每个Container会为每个map和reduce任务运行一个JVM, JVM的堆栈大小应该小于map和reduce的内存大小:
在mapred-site.xml中
mapreduce.map.java.opts -Xmx3072m mapreduce.reduce.java.opts -Xmx6144m
前面设置的是map和reduce任务可以使用的物理内存, 而虚拟内存(物理内存+paged memory)的上限是由每个Container的虚拟内存比例决定的, 默认值为2.1:
在yarn-site.xml中:
yarn.nodemanager.vmem-pmem-ratio 2.1
根据之前的所有设置, 每个map任务的内存分配为
- 物理内存 = 4GB
- map任务的Container的JVM堆栈 = 3GB
- 虚拟内存大小 = 4 * 2.1 = 8.4GB
在YARN和MapReduce2中, 除此之外没有其他的map和reduce任务的资源预配置. 整个集群可以根据作业的需要动态的分配map和reduce, 比如在本例中, YARN会配置最多10(40/4)个mapper或者5(40/8)个reducer, 或者是其他合适的组合.
参考文献:
[1].?How to Plan and Configure YARN and MapReduce 2 in HDP 2.0
原文地址:配置Hadoop2.0的内存资源, 感谢原作者分享。
内容总结
以上是互联网集市为您收集整理的配置Hadoop2.0的内存资源全部内容,希望文章能够帮你解决配置Hadoop2.0的内存资源所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。