Yarn资源调度 12

1. yarn调度流程

在这里插入图片描述
yarn的主要作用:管理任务,调度资源

  • resourceManager:主节点,主要用于接收客户端的请求,分配资源
  • nodeManager:从节点,主要是用于执行我们的任务,说白了就是提供cpu和内存的
  • ApplicationMaster:主要用于申请资源,分配资源,分配任务,任务生命周期的管理
  • container:资源分配的单位,所有的任务执行,都在container里面,主要用于分配资源,以及回收资源
  • JobHistory:查看历史完成的任务的日志
  • TimeLineServer:2.4以后引入的新特性 查看正在执行的任务的情况

2. yarn当中的资源调度器种类

调度器:主要是用于研究一个任务提交之后,下一个任务又来了该怎么执行。决定我们任务如何进行执行

  • 第一种:队列调度器 FIFO。第一个任务提交,先执行,然后第二个任务提交,等着第一个任务执行完毕之后再执行第二个任务
    -在这里插入图片描述
    第一个任务:大任务,需要运行4个小时
    第二个任务:小任务,需要运行3分钟
    这种调度器没人用,不管是apache软件的版本,还是CDH软件的版本
  • 第二种调度器:capacity Scheduler 容量调度器 apache的版本默认使用的调度器
    将整个资源,划分成好多块。
    在这里插入图片描述
    根据我们提交的任务需要资源的大小,将我们的任务,划分到不同的资源队列里面去,可以允许多个任务并行的快速的执行
    缺点:将资源给划散了
  • 第三种调度器:Fair scheduler 公平调度器 CDH的软件默认使用的调度器
    第一个任务提交,将所有的资源 全部分配给第一个任务,保证第一个任务最快的完成
    第二个任务提交:从第一个任务当中划分一部分资源出来,给第二个任务进行执行
    在这里插入图片描述
    缺点:造成资源的频繁的分配
    优点:可以快速的执行我们的一些大任务

3. 关于yarn常用参数设置

  • 第一个参数:container分配最小内存
    yarn.scheduler.minimum-allocation-mb 1024 给应用程序container分配的最小内存
  • 第二个参数:container分配最大内存
    yarn.scheduler.maximum-allocation-mb 8192 给应用程序container分配的最大内存
  • 第三个参数:每个container的最小虚拟内核个数
    yarn.scheduler.minimum-allocation-vcores 1 每个container默认给分配的最小的虚拟内核个数
  • 第四个参数:每个container的最大虚拟内核个数
    yarn.scheduler.maximum-allocation-vcores 32 每个container可以分配的最大的虚拟内核的个数
  • 第五个参数:nodeManager可以分配的内存大小
    yarn.nodemanager.resource.memory-mb 8192 nodemanager可以分配的最大内存大小,默认8192Mb
    在我们浏览yarn的管理界面的时候会发现一个问题
    在这里插入图片描述
    我们可以在yarn-site.xml当中修改以下两个参数来改变默认值
  • 定义每台机器的内存使用大小
    yarn.nodemanager.resource.memory-mb 8192
  • 定义每台机器的虚拟内核使用大小
    yarn.nodemanager.resource.cpu-vcores 8
  • 定义交换区空间可以使用的大小(交换区空间就是讲一块硬盘拿出来做内存使用)
    这里指定的是nodemanager的n内存的2.1倍
    yarn.nodemanager.vmem-pmem-ratio 2.1
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值