1.调度器
在Yarn中有三种调度器可以选择:FIFO Scheduler ,Capacity Scheduler,FairScheduler。
1.1 FIFO先进先出,一个的简单调度器,适合低负载集群。(适合任务数量不多的情况下使用)。示例:1job先提交,会运行1job,过一会,2job提交了,需要等1job运行完才可以运行2job
1.2 Capacity调度器,给不同队列(即用户或用户组)分配一个预期最小容量,在每个队列内部用层次化的FIFO来调度多个应用程序。(适用于有很多小的任务跑,需要占很多队列,不使用队列,会造成资源的浪费)。
示例:1job提交了,运行1job,过一会,2job提交了,会在另一个队列进行2job的计算,不需要等待1job完成。
1.3 Fair公平调度器,针对不同的应用(也可以为用户或用户组),每个应用属于一个队列,主旨是让每个应用分配的资源大体相当。(当然可以设置权重),若是只有一个应用,那集群所有资源都是他的。 适用情况:共享大集群、队列之间有较大差别。(生产使用)
示例:1job先提交了,过一会,2job也提交了,从2job提交到获得资源会有一定的延迟,因为它需要等待1job释放占用的Container。当2job执行完成之后也会释放自己占用的资源,1job又获得了全部的系统资源。
2常用命令
mapred
[hadoop@hadoop001 bin]$ mapred
Usage: mapred [--config confdir] COMMAND
where COMMAND is one of:
job manipulate MapReduce jobs
[hadoop@hadoop001 bin]$ mapred job
Usage: CLI <command> <args>
[-kill <job-id>] 杀死正在运行的job
[-list [all]] 查看正在运行的job
yarn
[hadoop@hadoop001 bin]$ yarn
Usage: yarn [--config confdir] COMMAND
where COMMAND is one of:
version print the version
jar <jar> run a jar file 跑一个jar任务
application prints application(s)
[hadoop@hadoop001 bin]$ yarn application
19/07/14 14:29:52 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
Invalid Command Usage :
usage: application
-kill <Application ID> Kills the application. 杀死正在运行的job
-list List applications. Supports optional use
of -appTypes to filter applications based
on application type, and -appStates to
filter applications based on application
state. 查看正在运行的job