网站首页 > 博客文章 正文
?
然后我们再来看一下yarn的基础架构,之前我们已经说了,在搭建集群的时候,但是现在
我们再拿出来说一下,
比如上面我们有一个集群,那么
?
可以看到有这么多的机器,我maptask要运行了,要分配到哪个机器上去运行呢?
?
可以看到要管理这些,就需要用到yarn,yarn类似于一个分布式的操作系统,而MapReduce,等运算的程序,就相当于运行在这个操作系统之上的应用程序.
yarn可以准确的分配资源,让整个集群,平均,稳定的执行.
?
然后我们去看看yarn都包含什么?
首先是resourceManager,这个是整个集群的老大,他的作用可以看到,
1.首先客户端来了请求,resourcemanager要响应
2.所有的nodemanager,管理节点的,老二有什么情况都要像resourcemanager这个老大汇报
所以resourcemanager还负责监控nodemanager,如果哪个nodemanager,资源紧张了,那么
resourcemanager知道以后,就可以把任务分给别的nodemanager一些.
3.启动或者监控applicationmaster,也就是如果发现某个applicationmaster挂了那么可以把
他的任务分给其他节点.
4.然后resourcemanager会负责系统的资源和调度,如果发现某个nodemanager资源紧张,可以把
任务分配给,资源比较闲的nodemanager
?
然后我们再去看nodemanager.他是单台服务器的老大
1.nodemanager叫做单节点,也就是负责管理一台服务器的资源
2.nodemanager还需要执行老大,resourcemanager发来的命令
3.nodemanager还需要执行applicationmaster的命令,也就是说,
如果applicationmaster需要什么资源,他会给resourcemanager去申请
申请了以后,resourcemanager还是会给nodemanager,发命令,去执行
这个时候applicationmaster会和nodemanager交互
?
?
然后这个applicationmaster,他是任务的老大,一台服务器上处理任务的老大
1.首先他的工作是为某个maptask或者reducetask去向resourcemanager申请资源.
当然applicationmaster前来申请资源,但是resourcemanager不一定会把资源给他
对吧,因为resourcemanager得看系统的有没有空闲资源才行.
2.applicationmaster还会监控下面的几个小弟,就是他管理的maptask和reducetask的状态,
可以看到applicationmaster管理的maptask和reducetask,不一定是在同一台服务器上对吧.
有可能applicationmaster管理的maptask和reducetask不在一台服务器上,那么这个时候,如果
applicationmaster,发现自己管理的一个maptask挂掉了,那么他会给resourcemanager,说,
我管理的哪个maptask挂掉了,希望resourcemanager,给他再从别的服务器,开辟一个资源,来
再运行这个maptask.
?
?
然后再去看这个container,这个是个容器,
这里面封装了资源,包括内存,cpu,磁盘,网络等,可以理解为一个小电脑,跟
docker镜像一样对吧...一台服务器中可以有多个这样的环境,用来运行多个任务.
好上面就是整个yarn的基础架构
?
猜你喜欢
- 2024-11-30 Hadoop集群部署(实操干货,建议收藏)
- 2024-11-30 列式存储的分布式数据库——HBase(环境部署)
- 2024-11-30 Vue3.2项目架构详解
- 2024-11-30 Flink安装(Standalone、Yarn模式)
- 2024-11-30 Apache Doris 整合 Iceberg + Flink CDC 构建实时湖仓一体的联邦查询
- 2024-11-30 大数据Apache Druid(二):Druid数据结构及架构原理
- 2024-11-30 CTO来教你:技术人员突然离职,如何接手他的项目?
- 2024-11-30 1.4 Flink on YARN集群部署《Flink核心源码解读》
- 2024-11-30 windows系统下如何安装多版本node.js
- 2024-11-30 从 jQuery 到 Vue3 的快捷通道
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)