apache yarn资源配置策略(FIFO,capacity,fair)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dazuiba008/article/details/80881217

yarn有一下三种资源调度策略

1.FIFO  先进先出策略,某一时间段只有有一个job占用资源,后面的job要等待前面的job结束才可以获取资源

2.capacity scheduler  把资源按队列划分,在job执行的时候,指定资源队列,队列之间是隔离的,但是队列内部是FIFO机制

3.fair scheduler 当job1在执行的时候,job2进来后,可以从job1的资源队列获取一定的资源执行jobs2,不需要等待。



下面分别对资源配置策略进行配置

默认是FIFO,不需要配置

capacity scheduler:


关闭yarn, stop-yarn.sh
先备份$HADOOP_HOME/etc/hadoop/capacity-scheduler.xml

然后在这个配置中加上如下配置:

	<property>
		<name>yarn.scheduler.capacity.root.queues</name>
		<value>prod,dev</value>
	</property>
	<property>
		<name>yarn.scheduler.capacity.root.dev.queues</name>
		<value>eng,science</value>
	</property>
	<property>
		<name>yarn.scheduler.capacity.root.prod.capacity</name>
		<value>40</value>
	</property>
	<property>
		<name>yarn.scheduler.capacity.root.dev.capacity</name>
		<value>60</value>
	</property>
	<property>
		<name>yarn.scheduler.capacity.root.dev.maximum-capacity</name>
		<value>75</value>
	</property>
同步配置文件到所有节点
scp capacity-scheduler.xml root@192-168-100-217:/usr/local/hadoop-2.7.6/etc/hadoop/
scp capacity-scheduler.xml root@192-168-100-225:/usr/local/hadoop-2.7.6/etc/hadoop/
scp capacity-scheduler.xml root@192-168-100-34:/usr/local/hadoop-2.7.6/etc/hadoop/

启动yarn:

start-yarn.sh

通过yarn的web界面可以看到配置效果



fair scheduler配置:

如图,有两个队列A和B,如果job1执行,并且指定队列A,那么还是会占用所有资源,当job2开始,指定队列B,那么就会从所有资源分出一定比例给job2,如果当job3又进来,并且指定了队列B,那么就会从队列B再分一定比列的资源给job3.


1.先关闭yarn, stop-yarn.sh 开启fair机制:在yarn-site.xml中配置:
<property>
     <name>yarn.resourcemanager.scheduler.class</name>
     <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
</property>

2.在$HADOOP_HOME/etc/hadoop下创建文件fair-scheduler.xml,并且配置:
<?xml version="1.0"?>
<allocations>
        <defaultQueueSchedulingPolicy>fair</defaultQueueSchedulingPolicy>
        <queue name="prod">
                <weight>40</weight>
                <schedulingPolicy>fifo</schedulingPolicy>
        </queue>
        <queue name="dev">
                <weight>60</weight>
                <queue name="eng"/>
                <queue name="science"/>
        </queue>
</allocations>
3.同步配置文件,启动yarn
scp fair-scheduler.xml root@192-168-100-217:/usr/local/hadoop-2.7.6/etc/hadoop/
scp fair-scheduler.xml root@192-168-100-225:/usr/local/hadoop-2.7.6/etc/hadoop/
scp fair-scheduler.xml root@192-168-100-34:/usr/local/hadoop-2.7.6/etc/hadoop/
start-yarn.sh

可以从yarn的web界面看下图的效果



猜你喜欢

转载自blog.csdn.net/dazuiba008/article/details/80881217
今日推荐