专业的编程技术博客社区

网站首页 > 博客文章 正文

大数据之-Hadoop3.x_Yarn_基础架构

baijin 2024-11-30 11:14:53 博客文章 4 ℃ 0 评论


?


然后我们再来看一下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的基础架构

?

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表