【Yarn】配置公平调度器

目录

添加如下属性到yarn-site.xml

添加配置文件fair-scheduler.xml

将新的配置同步到集群所有节点,重启Yarn

创建相应的用户进行测试

提交任务

查看任务


  • 添加如下属性到yarn-site.xml

<!--  指定使用fairScheduler的调度方式  -->
<property>
       <name>yarn.resourcemanager.scheduler.class</name>
       <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
</property>
 
<!--  指定配置文件路径  -->
<property>
       <name>yarn.scheduler.fair.allocation.file</name>
       <value>/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/fair-scheduler.xml</value>
</property>
 
<!-- 是否启用资源抢占,如果启用,那么当该队列资源使用
yarn.scheduler.fair.preemption.cluster-utilization-threshold 这么多比例的时候,就从其他空闲队列抢占资源
  -->
<property>
       <name>yarn.scheduler.fair.preemption</name>
       <value>true</value>
</property>
 
<property>
       <name>yarn.scheduler.fair.preemption.cluster-utilization-threshold</name>
       <value>0.8f</value>
</property>
 
<!-- 默认提交到default队列  -->
<property>
       <name>yarn.scheduler.fair.user-as-default-queue</name>
       <value>true</value>
</property>
 
<!-- 如果提交一个任务没有到任何的队列,是否允许创建一个新的队列,设置false不允许  -->
<property>
       <name>yarn.scheduler.fair.allow-undeclared-pools</name>
       <value>false</value>
</property>

 

  • 添加配置文件fair-scheduler.xml

<?xml version="1.0"?>
<allocations>
<!-- users max running apps  -->
<userMaxAppsDefault>30</userMaxAppsDefault>
<!-- 定义队列  -->
<queue name="root">
         <minResources>512mb,4vcores</minResources>
         <maxResources>102400mb,100vcores</maxResources>
         <maxRunningApps>100</maxRunningApps>
         <weight>1.0</weight>
         <schedulingMode>fair</schedulingMode>
         <aclSubmitApps> </aclSubmitApps>
         <aclAdministerApps> </aclAdministerApps>
 
         <queue name="default">
                   <minResources>512mb,4vcores</minResources>
                   <maxResources>30720mb,30vcores</maxResources>
                   <maxRunningApps>100</maxRunningApps>
                   <schedulingMode>fair</schedulingMode>
                   <weight>1.0</weight>
                   <!--  所有的任务如果不指定任务队列,都提交到default队列里面来 -->
                   <aclSubmitApps>*</aclSubmitApps>
         </queue>
 
<!--
 
weight
资源池权重
 
aclSubmitApps
允许提交任务的用户名和组;
格式为: 用户名 用户组
 
当有多个用户时候,格式为:用户名1,用户名2 用户名1所属组,用户名2所属组
 
aclAdministerApps
允许管理任务的用户名和组;
 
格式同上。
 -->
         <queue name="hadoop">
                   <minResources>512mb,4vcores</minResources>
                   <maxResources>20480mb,20vcores</maxResources>
                   <maxRunningApps>100</maxRunningApps>
                   <schedulingMode>fair</schedulingMode>
                   <weight>2.0</weight>
                   <aclSubmitApps>hadoop hadoop</aclSubmitApps>
                   <aclAdministerApps>hadoop hadoop</aclAdministerApps>
         </queue>
 
         <queue name="develop">
                   <minResources>512mb,4vcores</minResources>
                   <maxResources>20480mb,20vcores</maxResources>
                   <maxRunningApps>100</maxRunningApps>
                   <schedulingMode>fair</schedulingMode>
                   <weight>1</weight>
                   <aclSubmitApps>develop develop</aclSubmitApps>
                   <aclAdministerApps>develop develop</aclAdministerApps>
         </queue>
 
         <queue name="test1">
                   <minResources>512mb,4vcores</minResources>
                   <maxResources>20480mb,20vcores</maxResources>
                   <maxRunningApps>100</maxRunningApps>
                   <schedulingMode>fair</schedulingMode>
                   <weight>1.5</weight>
                   <aclSubmitApps>test1,hadoop,develop test1</aclSubmitApps>
                   <aclAdministerApps>test1 group_businessC,supergroup</aclAdministerApps>
         </queue>
</queue>
</allocations>

 

  • 将新的配置同步到集群所有节点,重启Yarn

同步:

scp yarn-site.xml  fair-scheduler.xml node02:$PWD
scp yarn-site.xml  fair-scheduler.xml node03:$PWD

 

重启Yarn:

stop-yarn.sh
start-yarn.sh

 

  • 创建相应的用户进行测试

useradd hadoop
passwd hadoop
groupadd supergroup
usermod -a -G supergroup hadoop    修改用户所属的附加群主
su - root -s /bin/bash -c "hdfs dfsadmin -refreshUserToGroupsMappings"
刷新用户组信息
su hadoop  切换用户

 

  • 提交任务

hadoop jar /export/servers/hadoop-2.6.0-cdh5.14.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.14.0.jar pi 10 20

 

  • 查看任务

http://192.168.100.201:8088/cluster/scheduler

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hadoop YARNHadoop的下一代集群资源管理系统,它将集群资源划分为容,通过资源调度来分配和管理这些容。资源调度配置对于集群的性能和资源利用率至关重要。 首先,需要配置YARN调度类型。目前YARN支持两种调度:容量调度公平调度。容量调度将集群资源按比例分配给不同的队列,每个队列有固定的资源容量;而公平调度将资源动态分配给各个应用程序,根据应用程序的运行状况动态调整资源分配。 其次,需要配置队列的属性。队列属性包括队列名称、资源容量、资源限制等。资源容量指定了每个队列可以使用的最大资源数量,资源限制是为了避免某个队列占用过多资源而导致其他队列无法正常运行。 另外,还可以配置调度的策略。调度策略根据不同的需求来决定资源的分配方式,比如公平策略会尽量保持各个应用程序获得相同的资源量,而容量策略则会按照预先设定的比例分配资源。 此外,还需要配置队列的优先级。队列优先级可以保证某个队列在资源不足时获得更多的资源,以确保高优先级的应用程序能够正常运行。 最后,还可以配置一些其他参数,例如最大容数、最大AM资源比例等。这些参数可以根据具体的需求进行调整,以优化资源管理和调度效果。 总之,Hadoop YARN资源调度配置需要根据集群的实际情况和需求进行灵活的调整,以实现高效的资源管理和调度
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值