您当前的位置: 首页 >  ar

杨林伟

暂无认证

  • 2浏览

    0关注

    3337博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Yarn队列租户配置教程(实践记录)

杨林伟 发布时间:2022-07-07 18:09:08 ,浏览量:2

文章目录
  • 1. 配置
    • Step1. 指定调度策略
    • Step2. 配置fair-scheduler.xml
  • 2. 启动
  • 3. 验证
    • Step1. 创建用户
    • Step2. 验证提交
      • 验证1:user_max用户提交到root队列(预期不成功)
      • 验证2:user_max用户提交到spark-max队列(预期成功)
      • 验证3:user_max用户提交到spark-mid队列(预期不成功)
  • 4. 问题汇总

1. 配置

Yarn资源调度有三种策略,分别是:

调度策略描述FIFO(先进先出)单队列,同一时间队列中只有一个任务在执行Capacity Scheduler(容量调度器)多队列,每个队列内部先进先出, 同一时间队列中只有一个任务在执行, 队列的并行度为队列的个数Fair Scheduler(公平调度器)多队列,每个队列内部按照缺额大小分配资源启动任务,同一时间队列中有多个任务执行

本文主要配置的是Fair Scheduler调度,即公平调度策略。

Step1. 指定调度策略

目前hadoop3.X版本默认使用的是Capacity Scheduler,因此需要指定调度策略,只要在yarn-site.xml(/opt/hadoop-2.7.7/etc/hadoop/)添加如下内容:



  yarn.resourcemanager.scheduler.class
  org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler




	yarn.scheduler.fair.allocation.file
	/opt/hadoop-2.7.7/etc/hadoop/fair-scheduler.xml

注意到了还需要配置Fair Scheduler的配置文件。

Step2. 配置fair-scheduler.xml

fair-scheduler.xml内容如下:



    
        2048 mb,2 vcores
        12240 mb,8 vcores  
        10
        fair
        root
        root

        
            1024 mb,1 vcores
            6120 mb,8 vcores  
            10
            admin,user_max
            admin
            2.0
            fair
        

		
            1024 mb,1 vcores
            3672 mb,4 vcores  
            10
            admin,user_mid
            admin
            1.0
            fair
        

        
            1024 mb,1 vcores
            2448 mb,2 vcores  
            10
            admin,user_min
            admin
            1.0
            fair
        

        

        
            10
        
    

    10

注意在Yarn的Web UI界面可以查看内存以及核数总量: 在这里插入图片描述

属性解析如下:

参数名称说明minResources最少资源保证量,设置格式为“X mb, Y vcores”,当一个队列的最少资源保证量未满足时,它将优先于其他同级队列获得资源,对于不同的调度策略(后面会详细介绍),最少资源保证量的含义不同,对于fair策略,则只考虑内存资源,即如果一个队列使用的内存资源超过了它的最少资源量,则认为它已得到了满足;对于drf策略,则考虑主资源使用的资源量,即如果一个队列的主资源量超过它的最少资源量,则认为它已得到了满足。maxResources最多可以使用的资源量,fair scheduler会保证每个队列使用的资源量不会超过该队列的最多可使用资源量。maxRunningApps最多同时运行的应用程序数目。通过限制该数目,可防止超量Map Task同时运行时产生的中间输出结果撑爆磁盘。minSharePreemptionTimeout最小共享量抢占时间。如果一个资源池在该时间内使用的资源量一直低于最小资源量,则开始抢占资源。schedulingMode/schedulingPolicy队列采用的调度模式,可以是fifo、fair或者drf。aclSubmitApps可向队列中提交应用程序的Linux用户或用户组列表,默认情况下为“*”,表示任何用户均可以向该队列提交应用程序。需要注意的是,该属性具有继承性,即子队列的列表会继承父队列的列表。配置该属性时,用户之间或用户组之间用“,”分割,用户和用户组之间用空格分割,比如“user1, user2 group1,group2”。aclAdministerApps该队列的管理员列表。一个队列的管理员可管理该队列中的资源和应用程序,比如可杀死任意应用程序。 2. 启动

重启hadoop:

$ cd /opt/hadoop-2.7.7/sbin/
$ ./stop-all.sh
$ ./start-all.sh
$ jps

如果显示如下,表示正常:

在这里插入图片描述

打开WebUI,浏览器访问http://10.194.188.37:8088/,可以看到使用了公平策略,以及创建了3个队列。

在这里插入图片描述

3. 验证

从fair-sheduler.xml文件可以看到: 在这里插入图片描述

也就是需要验证:

  • spark-max 能否提交到spark-max队列(期望是可以的)
  • spark-max能否提交到spark-mid队列(期望是不可以的)
Step1. 创建用户

根据fair-sheduler.xml,创建四个用户,分别为:admin、user_max、user_mid、user_min;

# 新增用户命令(例如新增admin)
$ adduser admin

# 为新增用户创建密码(例如为admin新增密码)
$ passwd admin

# 其余的用户创建依次类推

查看新增的用户:

$ compgen -u

在这里插入图片描述

Step2. 验证提交 验证1:user_max用户提交到root队列(预期不成功)

首先切换到user_max用户:

$ su user_max

然后使用运行spark-shell到yarn的root队列:

$ cd /opt/spark-2.4.8-bin-hadoop2.7/bin/
$ ./spark-shell --master yarn --queue root

运行结果:

在这里插入图片描述

与预期的一致。

验证2:user_max用户提交到spark-max队列(预期成功)

执行命令:

$ ./spark-shell --master yarn --queue spark-max

运行结果:

在这里插入图片描述

同时在yarn的web ui也可以看到已经成功地提交到yarn了。

在这里插入图片描述

验证3:user_max用户提交到spark-mid队列(预期不成功)

执行命令:

$ ./spark-shell --master yarn --queue spark-mid

运行结果,与预想的一样不成功:

在这里插入图片描述

4. 问题汇总

问题1. hadoop 无法停止?

  • 解决方案:直接使用jps命令查询出所有hadoop相关的进程,然后使用kill -9 进程号命令把yarn相关的进程杀掉。

问题2. 解决Permission denied: user=dr.who, access=READ_EXECUTE, inode=“/user/user_max”:root:supergroup:drwx ?

  • 解决方案:这是由于新增的用户对hdfs没有权限,使用命令hdfs dfs -chmod -R 777 /user

问题3. 解决faire scheduler空指针问题?

  • 解决方案:对应的aclSubmitApps以及aclAdministerApps不能为空,解决方案详情可以参考:https://issues.apache.org/jira/browse/YARN-3645

问题4. cm如何配置FairScheduler?

  • 解决方案:如下图配置即可(详情可参考https://docs.cloudera.com/documentation/enterprise/6/6.3/topics/admin_fair_scheduler.html) 在这里插入图片描述
关注
打赏
1662376985
查看更多评论
立即登录/注册

微信扫码登录

0.0604s