yarn 调度器
作者:互联网
yarn 调度器
- FIFO Scheduler:先进先出(first in, first out)调度策略
- Capacity Scheduler:FIFO Scheduler的多队列版本(默认,常用)
- Fair Scheduler:多队列,多用户共享资源。第一个任务占用所有资源,第二个任务到达之后第一个任务分出一些资源给第二个。
yarn 多资源队列配置和使用
- 增加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>
- 向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
标签:capacity,队列,调度,yarn,default,scheduler,offline 来源: https://www.cnblogs.com/zhh567/p/16341291.html