Capacity Scheduler称为容量调度器,是Apache YARN内置的调度器,E-MapReduce YARN使用Capacity Scheduler作为默认调度器。Capacity Scheduler是一种多租户、分层级的资源调度器,调度器中的子队列是通过设置Capacity来划分各个子队列的使用情况。
前提条件
已创建Hadoop集群,详情请参见创建集群。
注意事项
开启集群的Capacity Scheduler资源队列后,YARN组件配置页面中的capacity-scheduler配置区域将处于冻结状态,相关已有配置将会同步到集群资源管理页面中。如果需要继续在YARN服务的配置页面通过XML的方式设置集群资源,则需先在集群资源管理中关闭YARN资源队列。
配置Capacity Scheduler
切换调度器类型
开启YARN资源队列后,可以执行以下步骤切换调度器类型。
注意 切换资源调度器后,需要重启服务,才能生效。
- 在集群资源管理页面,单击上方的切换调度器。
- 单击需要切换的资源队列类型。
- 单击保存。
- 重启服务。
关闭资源队列
说明 关闭资源队列后,不能在资源管理页面进行任何操作,如果您需要再次配置资源,可以开启资源队列或者在YARN组件配置页面中的capacity-scheduler配置区域进行操作 。
- 在集群资源管理页面,关闭开启YARN资源队列开关。
- 在关闭资源队列对话框中,单击确定。
提交作业
- 提交作业时,如果不指定提交队列,会默认提交到default队列。
- 指定队列时应选择子节点,不能将任务提交到父队列。
- 提交到指定队列时需通过mapreduce.job.queuename参数来指定队列,示例如下。
`hadoop jar /usr/lib/hadoop-current/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.5.jar pi -Dmapreduce.job.queuename=test 2 2`