您的位置:首页 > 其它

Yarn资源分配示例

2016-05-23 23:46 369 查看

Yarn资源分配示例

1 简介

此手册应用于yarn资源按照队列分配的情景。

2 准备

2.1 环境说明

hadoop版本: hadoop-2.5.0-cdh5.3.3

3 配置

3.1 配置说明

1)  Yarn-site.xml里配置yanr能用到的资源总数以及公平调度策略所在路径

#在虚拟机关机情况下,选中后点击设置,在控制器SATA处点击右边的加号以创建虚拟硬盘。

 <property>

<name>yarn.nodemanager.resource.memory-mb</name>

<value>32760</value>

</property>

 

<property>

<name>yarn.scheduler.minimum-allocation-mb</name>

<value>2048</value>

</property>

 

<property>

<name>yarn.scheduler.maximum-allocation-mb</name>

<value>16384</value>

</property>

 

<property>

<name>yarn.nodemanager.resource.cpu-vcores</name>

<value>21</value>

</property>

 

 

 

<property>

         <name>yarn.scheduler.fair.allow-undeclared-pools</name>

         <value>false</value>

         <description>如果这是true,新的队列可以在提交申请时被创建,falsessh使用默认队列</description>

</property>

<property>

         <name>yarn.scheduler.fair.user-as-default-queue</name>

         <value>false</value>

         <description>使用跟用户名相同的队列名,如果设置为false或者未设置,则所有未知队列的应用程序将被提交到default队列中,默认值为true</description>

</property>

<property>

         <name>yarn.resourcemanager.scheduler.class</name>

         <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>

         <description>公平配置队列配置在fair-scheduler</description>

</property>

<property>

         <name>yarn.scheduler.fair.allocation.file</name>

         <value>/home/hadoop/hadoop-2.7.1/etc/hadoop/fair-allocation.xml</value>

         <description>公平配置文件路径</description>

</property>

<property>

         <name>yarn.scheduler.fair.preemption</name>

         <value>true</value>

         <description>是否支持抢占,默认值为false</description>

</property>

<property>

         <name>yarn.scheduler.fair.sizebasedweight</name>

         <value>false</value>

         <description>是否启用按应用程序资源需求分配资源,默认值为false即采用公平轮询的方法分配资源</description>

</property>

<property>

         <name>yarn.scheduler.increment-allocation-mb</name>

         <value>1024</value>

         <description>仅fair有效,内存规整化单位,墨认值1024.(示例一个container请求1.5G,则调度器规整化为2G)</description>

</property>

2)  配置队列的资源限额及应用数量

#队列可指定到用户或则用户组,如果是用户组则需要在aclSubmitApps参数前加空格。

<allocations>

         <queuename="root">

         <aclSubmitApps>hadoop,dpi</aclSubmitApps>

         <aclAdministerApps>hadoop</aclAdministerApps>

                   <queuename="default">

                            <minResources>2000mb,1vcores</minResources>

                            <maxResources>8000mb,8vcores</maxResources>

                            <maxRunningApps>40</maxRunningApps>

                            <schedulingMode>fair</schedulingMode>

                            <aclSubmitApps>*</aclSubmitApps>

                            <aclAdministerApps>hadoop</aclAdministerApps>

                   </queue>

                   <queuename="test">

                            <minResources>2000mb,10vcores</minResources>

                            <maxResources>8000mb,8vcores</maxResources>

                            <maxRunningApps>4</maxRunningApps>

                            <schedulingMode>fair</schedulingMode>

                            <aclSubmitApps>test,hadoop</aclSubmitApps>

                            <aclAdministerApps>hadoop</aclAdministerApps>

                   </queue>

                   <queuename="hadoop">

                            <minResources>2000mb,1vcores</minResources>

                            <maxResources>8000mb,8vcores</maxResources>

                            <maxRunningApps>4</maxRunningApps>

                            <schedulingMode>fair</schedulingMode>

                            <aclSubmitApps>hadoop</aclSubmitApps>

                            <aclAdministerApps>hadoop</aclAdministerApps>

                   </queue>

         </queue>

         <username="hadoop"> <!-- 对于特定用户的配置 -->

          <maxRunningApps>100</maxRunningApps> 

         </user> 

         <userMaxAppsDefault>50</userMaxAppsDefault><!--默认的用户最多可以同时运行的任务 -->

         <queuePlacementPolicy>

                   <rulename="user" create="false" />

                   <rulename="specified" />

                   <rulename="default"/>

         </queuePlacementPolicy>

</allocations>

 

 

 

3.2配置问题

暂无.

#修改队列信息后会动态刷新,以yarn 8088端口里的资源为准。

4 使用

set mapreduce.job.queuename为某个队列到8088端口查看任务是否提交到该队列.

5 总结

暂无.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: