这篇文章给大家分享的是有关Hadoop中如何配置Yarn的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、网站设计、永丰网络推广、成都微信小程序、永丰网络营销、永丰企业策划、永丰品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供永丰建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com
作为HDP 2.0 Beta的一部分,YARN采用MapReduce中的资源管理功能,并将它们打包,以便新引擎可以使用它们。 这也简化了MapReduce做它做的最好的处理数据。 使用YARN,您现在可以在Hadoop中运行多个应用程序,所有这些应用程序共享一个公共资源管理。
在本博文中,我们将介绍如何规划和配置企业HDP 2.0集群部署中的处理能力。 这将覆盖YARN和MapReduce 2.我们将使用一个示例物理群集的从节点,每个具有48 GB RAM,12个磁盘和2个Hex核CPU(总共12个核)。
YARN考虑了集群中每台计算机上的所有可用计算资源。 基于可用资源,YARN将协商在集群中运行的应用程序(如MapReduce)的资源请求。 然后,YARN通过分配容器为每个应用程序提供处理能力。 容器是YARN中处理能力的基本单元,是资源元素(内存,cpu等)的封装。
配置YARN
在Hadoop集群中,平衡RAM,CPU和磁盘的使用至关重要,这样处理不受任何一个集群资源的限制。 作为一般建议,我们发现,每个磁盘和每个核心允许1-2个容器为集群利用率提供最佳平衡。 因此,对于具有12个磁盘和12个核心的示例集群节点,我们将允许为每个节点分配20个最大容器。
我们集群中的每台机器都有48 GB的RAM。 某些RAM应保留用于操作系统。 在每个节点上,我们将分配40 GB RAM供YARN使用,并为操作系统保留8 GB。 以下属性设置YARN可以在节点上使用的最大内存:
In yarn-site.xml
yarn.nodemanager.resource.memory-mb 40960
下一步是提供YARN指导如何分解容器中可用的总资源。 通过指定要为容器分配的RAM的最小单位来执行此操作。 我们要允许最多20个容器,因此需要(总共40 GB内存)/(20个容器)=每个容器最少2 GB:
In yarn-site.xml
yarn.scheduler.minimum-allocation-mb 2048
YARN将分配容量大于yarn.scheduler.minimum-allocation-mb的RAM容量。
配置MAPREDUCE 2
MapReduce 2在YARN之上运行,并使用YARN容器来调度和执行其映射和减少任务。
在YARN上配置MapReduce 2资源利用率时,有三个方面需要考虑:
每个Map和Reduce任务的物理RAM限制
每个任务的JVM堆大小限制
每个任务将获得的虚拟内存量
您可以定义每个Map和Reduce任务将占用的最大内存量。 由于每个Map和每个Reduce将在单独的容器中运行,因此这些最大内存设置应至少等于或大于YARN最小容器分配。
对于我们的示例集群,我们有一个容器的最小RAM(yarn.scheduler.minimum-allocation-mb)= 2 GB。 因此,我们将为Map任务容器分配4 GB,为Reduce任务容器分配8 GB。
In mapred-site.xml
:
mapreduce.map.memory.mb 4096 mapreduce.reduce.memory.mb 8192
每个容器将运行Map和Reduce任务的JVM。 JVM堆大小应设置为低于上面定义的Map和Reduce内存,以使它们在YARN分配的Container内存的边界内。
In mapred-site.xml
:
mapreduce.map.java.opts -Xmx3072m mapreduce.reduce.java.opts -Xmx6144m
以上设置配置Map和Reduce任务将使用的物理RAM的上限。 每个Map和Reduce任务的虚拟内存(物理+分页内存)上限由每个YARN容器允许的虚拟内存比率决定。 这是通过以下配置设置的,默认值为2.1:
In yarn-site.xml
:
yarn.nodemanager.vmem-pmem-ratio 2.1
因此,使用我们的示例集群上的上述设置,每个Map任务将获得以下内存分配,并具有以下内容:
总物理RAM分配= 4 GB
Map任务中的JVM堆空间上限Container = 3 GB
虚拟内存上限= 4 * 2.1 = 8.2 GB
使用YARN和MapReduce 2,不再有用于Map和Reduce任务的预配置静态槽。 整个集群可用于Maps的动态资源分配,并可根据作业的需要进行缩减。 在我们的示例集群中,通过上述配置,YARN将能够在每个节点上分配多达10个映射器(40/4)或5个reducer(40/8)或其中的置换。
感谢各位的阅读!关于“Hadoop中如何配置Yarn”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!