YARN调度器配置与使用--WordCount小例子来完成

112 阅读1分钟

1.启用公平调度器

tips:可能有的朋友不太理解调度是啥意思,那我就来解释下哈---->调度的意思是在一定时间内安排和控制任务的执行,确保任务在预定的时间和顺序内按照规定的要求执行。在数据处理领域中,调度是非常重要的,可以帮助用户合理地管理和安排数据处理作业,提高作业执行的效率和稳定性。

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

[hadoop@hadoop1 hadoop]$ vi yarn-site.xml

(如果有人相中这篇文章,想要拿来主义的话--->以下才是配置文件,别复制粘贴错啦)


![image.png](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/5ab617e1806a44bcada62240d19e01f9~tplv-k3u1fbpfcp-watermark.image?)
<property>
<name>yarn.resourcemanager.scheduler.class</name>
<value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
<!--调度器类型指定为Fair Scheduler-->
</property>
<property>
<name>yarn.scheduler.fair.allocation.file</name>
<value>/home/hadoop/app/hadoop/etc/hadoop/conf/fair-scheduler.xml</value>
<!--指定Fair  Scheduler具体配置文件位置-->
</property>

2.公平调度器队列配置

我们通过一个名为fair-scheduler.xml的配置文件对公平调度器进行配置,该文件位于yarn.scheduler.fair.allocation.file属性配置的路径下。

image.png

3.同步配置文件

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

4.重启YARN集群

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

#关闭yarn集群命令
[hadoop@hadoop1 hadoop]$ sbin/stop-yarn.sh
#启动yarn集群命令
[hadoop@hadoop1 hadoop]$ sbin/start-yarn.sh

5.提交任务

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

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

6.查看调度器与作业

在浏览器中输入 http://hadoop1:8088/ 地址,通过YARN集群的Web界面查看MapReduce作业所使用的调度器及队列。

image.png

7.查看运行结果

使用HDFS shell命令查看WordCount作业输出结果,如果WordCount作业能成功运行并输出正确结果,说明YARN集群中的公平调度器配置成功了。

image.png