Hadoop(五)Yarn如何配置多队列提交(入门必看)

容量调度器多队列提交

Yarn默认的容量调度器是一条单队列的调度器,在实际使用中会出现单个任务阻塞整个队列的情况。同时,随着业务的增长,公司需要分业务限制集群使用率。这就需要我们按照业务种类配置多条任务队列,下面我就一起来看看吧。

查看默认容量调度

启动集群,在web端输入hadoop33:8088(yarn的网页访问端口)可以看到Hadoop的默认容量调度是一条单队列的调度器。

在这里插入图片描述

配置多队列的容量调度器

 cd /opt/module/hadoop-3.1.3/etc/hadoop/
 vim capacity-scheduler.xml 
  • 指定多队列,增加hive队列
    在这里插入图片描述
  • 降低default队列资源额定容量为40%,默认100%

在这里插入图片描述

  • 降低default队列资源最大容量为60%,默认100%
    在这里插入图片描述
  • 添加hive队列的资源额定容量
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

重启Yarn查看结果

将配置文件分发至其他服务器

xsync ./capacity-scheduler.xml 

重启yarn或者执行

yarn rmadmin -refreshQueues

刷新yarn的web页面可以看到
在这里插入图片描述说明更改成功!

向hive队列提交任务

提交任务的方法,我们选用集群模式下提交jar包的方法,具体细节参考博主另一篇博客,链接如下:

https://blog.csdn.net/Kruskual/article/details/108522992
  • 在Driver中声明添加队列的名称
    修改红框内的文字在这里插入图片描述
    代码如下:
Configuration configuration = new Configuration();
        configuration.set("mapreduce.job.queuename","hive");
        Job job = Job.getInstance(configuration);

在这里插入图片描述

  • 清除上次的jar包,并生成新的jar包
    在这里插入图片描述剩余步骤请参考博主博客
    在这里插入图片描述链接如下:
 https://blog.csdn.net/Kruskual/article/details/108522992

注意删除namenode网页端已有的输出路径。
最后的操作步骤是:
在这里插入图片描述

输出结果

在yarn网页端可以看到:
在这里插入图片描述hive队列正常运行,我是余傲,点个赞交个朋友吧。

猜你喜欢

转载自blog.csdn.net/Kruskual/article/details/108539406