资源调度框架 YARN

news/2024/12/22 22:32:35/

3.1.1 什么是YARN

  • Yet Another Resource Negotiator, 另一种资源协调者
  • 通用资源管理系统
  • 为上层应用提供统一的资源管理和调度,为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处

3.1.2 YARN产生背景

  • 通用资源管理系统

    • Hadoop数据分布式存储(数据分块,冗余存储)
    • 当多个MapReduce任务要用到相同的hdfs数据, 需要进行资源调度管理
    • Hadoop1.x时并没有YARN,MapReduce 既负责进行计算作业又处理服务器集群资源调度管理
  • 服务器集群资源调度管理和MapReduce执行过程耦合在一起带来的问题

    • Hadoop早期, 技术只有Hadoop, 这个问题不明显

    • 随着大数据技术的发展,Spark Storm … 计算框架都要用到服务器集群资源

    • 如果没有通用资源管理系统,只能为多个集群分别提供数据

      • 资源利用率低 运维成本高

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v008AbBv-1687850041476)(/img/image-yarn2.png)]

    • Yarn (Yet Another Resource Negotiator) 另一种资源调度器

      • Mesos 大数据资源管理产品
  • 不同计算框架可以共享同一个HDFS集群上的数据,享受整体的资源调度

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WmIDfU0Y-1687850041478)(/img/hadoop-yarn3.png)]

3.1.3 YARN的架构和执行流程

  • ResourceManager: RM 资源管理器
    ​ 整个集群同一时间提供服务的RM只有一个,负责集群资源的统一管理和调度
    ​ 处理客户端的请求: submit, kill
    ​ 监控我们的NM,一旦某个NM挂了,那么该NM上运行的任务需要告诉我们的AM来如何进行处理
  • NodeManager: NM 节点管理器
    ​ 整个集群中有多个,负责自己本身节点资源管理和使用
    ​ 定时向RM汇报本节点的资源使用情况
    ​ 接收并处理来自RM的各种命令:启动Container
    ​ 处理来自AM的命令
  • ApplicationMaster: AM
    ​ 每个应用程序对应一个:MR、Spark,负责应用程序的管理
    ​ 为应用程序向RM申请资源(core、memory),分配给内部task
    ​ 需要与NM通信:启动/停止task,task是运行在container里面,AM也是运行在container里面
  • Container 容器: 封装了CPU、Memory等资源的一个容器,是一个任务运行环境的抽象
  • Client: 提交作业 查询作业的运行进度,杀死作业

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a7EPIlmm-1687850041478)(/img/yarn4.png)]

1,Client提交作业请求

2,ResourceManager 进程和 NodeManager 进程通信,根据集群资源,为用户程序分配第一个Container(容器),并将 ApplicationMaster 分发到这个容器上面

3,在启动的Container中创建ApplicationMaster

4,ApplicationMaster启动后向ResourceManager注册进程,申请资源

5,ApplicationMaster申请到资源后,向对应的NodeManager申请启动Container,将要执行的程序分发到NodeManager上

6,Container启动后,执行对应的任务

7,Tast执行完毕之后,向ApplicationMaster返回结果

8,ApplicationMaster向ResourceManager 请求kill

在这里插入图片描述

3.1.5 YARN环境搭建

1)mapred-site.xml

<property><name>mapreduce.framework.name</name><value>yarn</value>
</property>

2)yarn-site.xml

<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>
</property>
  1. 启动YARN相关的进程
   sbin/start-yarn.sh

4)验证

​	jps​	ResourceManager
​	NodeManager
​	http://192,168.199.188:8088

5)停止YARN相关的进程

​	sbin/stop-yarn.sh

http://www.ppmy.cn/news/611854.html

相关文章

微信小程序import和include

import 和include 是微信小程序提供的2中引用方式 import 一般结合模板template使用 import import可以在该文件中使用目标文件定义的template&#xff0c;如&#xff1a; 在 item.wxml 中定义了一个叫item的template&#xff1a; <!-- item.wxml --> <template …

基于至强® 平台的内存数据库解决方案

基于至强 平台的内存数据库解决方案 英特尔与 SAP 之间的协作和联合开发已持续六年。 SAP HANA 平台的创新内存架构契合持久内存&#xff0c;仅需少量变更。 SAP HANA 平台是第一个支持英特尔傲腾™ 数据中心级持久内存的重要数据库平台。 SAP HANA 2.0 SPS 03 包含众多…

线性回归算法原理简介

1&#xff0c;线性回归概念 回归和分类的区别&#xff1a;简单地说&#xff0c;回归就是通过数据预测出一个目标值&#xff08;实际值&#xff09;&#xff0c;分类就是通过数据预测出一个类别&#xff08;二分类&#xff0c;多分类&#xff09;。 比如&#xff1a;银行贷款实例…

python格式化

%s 字符串 %d 有符号整数(十进制) %f 浮点数字(用小数点符号) fomat转载于:https://www.cnblogs.com/jiaoxiaohui/p/10384467.html

微信小程序模板template

上面是官方的讲解, 主要是方便在不同的地方调用. 下面自己说下使用, 先创建一个模板名字是自己随便取的, 在template.wxml中填写模板 最外层用template标签 设置一个name属性 <template name"msgItem"> <view> <text bindtapclick1>学习总结中…

ODrive三环控制

目录 1. 位置控制环 2.速度控制环 3. 电流控制环路 4. 控制器详情 5. 调PID

逻辑回归算法原理简介

1&#xff0c;逻辑回归简介 逻辑回归完成分类任务&#xff0c;是经典的二分类算法&#xff08;也可以解决多分类问题&#xff09;&#xff0c;机器学习算法一般选择先逻辑回归&#xff08;优先选择&#xff09;再用复杂的&#xff0c;逻辑回归的决策边界可以是非线性的&#xf…

英特尔Intel® Arria® 10 FPGA加速器设计

英特尔Intel Arria 10 FPGA加速器设计 Introducing the Intel Vision Accelerator Design with Intel Arria 10 FPGA 深度 学习的挑战智能摄像机的激增和视频数据的爆炸&#xff0c;再加上较长的保留期和更高的图像分辨率是一个重大挑战对于许多组织来说&#xff0c;当他们努…