yarn 调度器

yarn 调度器

  1. FIFO Scheduler:先进先出(first in, first out)调度策略
  2. Capacity Scheduler:FIFO Scheduler的多队列版本(默认,常用)
  3. Fair Scheduler:多队列,多用户共享资源。第一个任务占用所有资源,第二个任务到达之后第一个任务分出一些资源给第二个。

 

yarn 多资源队列配置和使用

  1. 增加online队列和offline队列
    修改 HADOOP_HOME/etc/hadoop/capacity-scheduler.xml
    <property>
    	<name>yarn.scheduler.capacity.root.queues</name>
    	<value>default,online,offline</value>
    	<description>队列列表,多个队列间使用都好分割</description>
    </property>
    <property>
    	<name>yarn.scheduler.capacity.root.default.capacity</name>
    	<value>70</value>
    	<description>default队列占用70%</description>
    </property>
    <property>
    	<name>yarn.scheduler.capacity.root.online.capacity</name>
    	<value>10</value>
    	<description>online队列占用10%</description>
    </property>
    <property>
    	<name>yarn.scheduler.capacity.root.offline.capacity</name>
    	<value>20</value>
    	<description>offline队列占用20%</description>
    </property>
    <property>
    	<name>yarn.scheduler.capacity.root.default.maximum-capacity</name>
    	<value>70</value>
    	<description>default队列可用资源上限</description>
    </property>
    <property>
    	<name>yarn.scheduler.capacity.root.online.maximum-capacity</name>
    	<value>10</value>
    	<description>online队列可用资源上限</description>
    </property>
    <property>
    	<name>yarn.scheduler.capacity.root.offline.maximum-capacity</name>
    	<value>20</value>
    	<description>offline队列可用资源上限</description>
    </property>
  2. 向offline队列提交任务
    在main函数中添加
    // 解析命令行中通过 -D 传过来的参数,添加到conf中
    // 在启动mapreduce 任务时使用命令 hadoop jar xx.jar com.example.Main -Dmapreduce.job.queuename=offline /input.txt /outputDir
    // 返回值为除了 -Dxxx 以外的参数
    String[] remainingArgs = new GenericOptionsParser(conf, args).getRemainingArgs();

    启动命令 hadoop jar xx.jar com.example.Main -Dmapreduce.job.queuename=offline /input.txt /outputDir指定了任务队列为offline
    不指定时直接使用default队列

 

yarn 用于管理 cpu 和 内存 资源

NodeManager启动时会向ResourceManager注册,注册信息中包含该节点可分配的CPU和内存总量。在不配置的情况下使用 default.xml 中的配置项。

yarn.nodemanager.resource.memory-mb:单节点可分配 的物理内存总量,默认是8MB*1024,即8G
yarn.nodemanager.resource.cpu-vcores:单节点可分配的 虚拟CPU个数,默认是8

 

posted @ 2022-06-04 09:27  某某人8265  阅读(29)  评论(0编辑  收藏  举报