YARN 调度器的配置与使用

一、启动公平调度器

公平调度器的使用由属性yarn.resourcemanager.scheduler.class的设置所决定。YARN默认使用的是容量调度器,如果要使用公平调度器,需要将yarn-site.xml文件中的yarn.resourcemanager.scheduler.class设置为公平调度器的完全限定名。

1.1 配置 yarn-site.xml

[root@hadoop1 hadoop]# vim /usr/local/hadoop/etc/hadoop/yarn-site.xml 

添加如下内容:

<!--调度器类型指定为 Fair Scheduler-->
<property>
	<name>yarn.resourcemanager.scheduler.class</name>
	<value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
</property>

<!--指定 Fair Scheduler 具体配置文件位置-->
<property>
	<name>yarn.scheduler.fair.allocation.file</name>
	<value>/usr/local/hadoop/etc/hadoop/conf/fail-scheduler.xml</value>
</property>

创建 fail-scheduler.xml 文件

[root@hadoop1 hadoop]# mkdir conf
[root@hadoop1 hadoop]# touch ./conf/fail-scheduler.xml

添加如下内容:

<?xml version="1.0"?>
<allocations>
                <queue name="root">
                <!--设置调度策略-->
        <schedulingPolicy>fair</schedulingPolicy>
                <!--允许提交任务的用户名和组-->
        <aclSubmitApps>*</aclSubmitApps>
                <!--允许管理任务的用户名和组-->
        <aclAdministerApps>*</aclAdministerApps>
                <!--默认队列-->
                <queue name="default">
                        <minResources>1024mb, 1vcores</minResources>
                <maxResources>4096mb, 4vcores</maxResources>
                </queue>
                <!--离线队列-->
                <queue name="offline">
                                <!--最小资源-->
                <minResources>1024mb, 1vcores</minResources>
                                <!--最大资源-->
                <maxResources>4096mb, 2vcores</maxResources>
                                <!--最大同时运行application数量-->
                <maxRunningApps>50</maxRunningApps>
        </queue>
                <!--实时队列-->
                <queue name="realtime">
                                <!--最小资源-->
                <minResources>1024mb, 1vcores</minResources>
                                <!--最大资源-->
                <maxResources>4096mb, 2vcores</maxResources>
                                <!--最大同时运行application数量-->
                <maxRunningApps>50</maxRunningApps>
        </queue>

二、同步配置文件

因为当前Hadoop环境是伪分布集群,所以只需要修改当前节点的yarn-s和fairscheduler.xml配置文件即可。如果Hadoop为分布式集群环境,还需要将相关配置文件通过scp命令同步到集群其他节点。

三、重启启动 YARN 集群

因为公平调度器需要修改YARN相关的配置文件,所以需要重启YARN集群才能使配置文件生效。YARN集群的启停操作如下所示。

[root@hadoop1 hadoop]# /usr/local/hadoop/sbin/stop-yarn.sh 
[root@hadoop1 hadoop]# /usr/local/hadoop/sbin/start-yarn.sh 

四、提交作业

以Hadoop自带的WordCount为例,使用公平调度器将MapReduce应用提交到root.offline队列中运行,具体操作如下所示。

[root@hadoop1 hadoop]# /usr/local/hadoop/bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.10.2.jar wordcount -Dmapreduce.job.queuename=root.offline /test/words.log /test/out

上面代码执行成功:
在这里插入图片描述

五、运行结果

在这里插入图片描述

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

slb190623

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值