当前位置: 首页 > news >正文

【Hadoop-yarn-01】大白话讲讲资源调度器YARN,原来这么好理解


YARN作为Hadoop集群的御用调度器,在整个集群的资源管理上立下了汗马功劳。今天我们用大白话聊聊YARN存在意义。

有了机器就有了资源,有了资源就有了调度。举2个很鲜活的场景:

  1. 在单台机器上,你开了3个程序,分别是A、B、C,3个程序把资源基本上耗光了,你再想开个D,系统没有资源了,或者变的很卡,所以你关掉了A和B,腾出来的资源让D用,这就是人肉调度。
  2. 由多台机器上组成的集群,情况更加复杂,一共有多少CPU,MEM,怎么把指定的应用跑在合适的机器上,总会想均衡,不要累死的累死,闲死的闲死,这就要调度,几台还好,人肉可以登录过来,登录过去看着每台跑的应用和用的资源去调度,要是成百上千台的机器呢,人肉那就累死了。

还是搞个自动化的调度工具吧,想想只要干好几个事,简单说也不难:

  1. 资源管理:要把所有机器的资源都管理起来,起码知道这个分布式的集群有多少资源,摸清家底。
  2. 资源监控:要时时刻刻监控当前用了哪些资源,哪些资源还没用。
  3. 分配资源:应用要申请了,你要给资源,给多少,是不是够用,让他跑到哪台机器上。
  4. 回收资源:不能让应用一直占着,你要时刻问问或者让他上报,用完了要及时归还。

简单的想来YARN就是这么多,基本上每个资源调度器都是干的主要这些事,ResourceManager就是集群老大,在台机器上安插小弟NodeManager,对机器进行资源管理和任务管理,定时向老大汇报各个机器资源情况;一个ApplicationMaster就是一个任务的老大,他负责和ResourceManger老大交涉,比如我需要多少资源,老大都同意小弟还不照做;NodeManager为ApplicationMaster启动若干Container执行task;这些task向他的老大ApplicationMaster汇报状态;当干完活了,释放资源吧,ApplicationMaster告诉ResourceManager你可以回收资源了,接着老大让小弟NodeManger清理现场回收资源。

下面的架构图来自ApacheHadoop官网,写了组件之间的行为,没有写具体工作流程,大家看着上面内容大致理解了,其实原理很简单,当然具体实现有难度,不然成不了角。

在这里插入图片描述
参考文章

  1. Nomad vs. Yarn vs. Kubernetes vs. Borg vs. Mesos
  2. 详解Yarn基础架构及其设计思想
  3. Apache Hadoop YARN
http://www.lryc.cn/news/40395.html

相关文章:

  • 技术掉:PDF显示,使用pdf.js
  • 有关pytorch的一些总结
  • 基础IO【Linux】
  • Vue3——自定义封装上传图片样式
  • ChatGLM-6B (介绍以及本地部署)
  • react的基础使用
  • letcode 4.寻找两个正序数组的中位数(官方题解笔记)
  • 【面试题系列】K8S常见面试题
  • 字符函数和字符串函数(上)-C语言详解
  • 全连接神经网络
  • 深度学习目标检测ui界面-交通标志检测识别
  • ubuntu不同版本的源(换源)(镜像源)(lsb_release -c命令,显示当前系统的发行版代号(Codename))
  • linux入门---程序翻译的过程
  • springboot复习(黑马)
  • C++指针详解
  • tauri+vite+vue3开发环境下创建、启动运行和打包发布
  • 安卓进阶系列-系统基础
  • 10 Wifi网络的封装
  • 手把手的教你安装PyCharm --Pycharm安装详细教程(一)(非常详细,非常实用)
  • 开发板与ubantu文件传送
  • 如何成为一名优秀的网络安全工程师?
  • 面试问题之高并发内存池项目
  • 如果阿里巴巴给蒋凡“百亿补贴”
  • Linux版本现状
  • Winform中实现保存配置到文件/项目启动时从文件中读取配置(序列化与反序列化对象)
  • 基于python的超市历年数据可视化分析
  • GPT-4技术报告
  • 前端性能优化
  • 尚医通-(三十三)就诊人管理功能实现
  • 《Spring Boot 趣味实战课》读书笔记(二)