00:00
好,接下来我们来看一下雅安的架构概述,那这里面有四个单词说yet another resource negoator,那简称雅安,它是另一种资源协调者,是hi杜op的一个资源管理器。那资源管理器管理啥呀?主要管理的就是CPU和内存,那么来看一下延安的组成,有这么两大组件,一个核心组件叫resource manager,另一个组件呢,就叫node manager。你从字面含义上能清楚的看出来,说叫resource manager,所有资源的管理,另一个叫node manager。那就是单节点资源的管理者。对吧,那来看一下resource manager呢,是整个集群资源的老大,管理着整个集群所有的内存和CPU。来看一下吧,假如说你这台服务器上有4G内存两个CPU,它有4G内存两个CPU 4G内存两个CPU,那manager总共管理的资源就是有12G内存,6G,呃,六个CPU。
01:02
这就是他管理的。那么note manager是单节点资源的老大。那这里面它就是管理着这台服务器上的4G内存和两个CPU。4G内存两个CPU,哎,他管理他了,他管理他了,对吧,很好理解吧,那再往下看,那这个集群啊,它肯定会运行任务啊,对吧?哎,那运行任务谁来提交呢?由客户端来提交任务,那客户端很显然就不能是一个,因为我是一个集群呢,你这个集群只运行我一个任务,那还叫什么集群了,对不对,那这里面有多客户端。OK,往下走,那下面呢,还有两个概念,一个叫application master,另一个呢叫container。APP呢,它是单个任务运行的老大。啥意思?你这是客户端,他提交了一个作业,那提交作业在你这个节点上就会产生一个APP master。APP master是当个任务的老大吗?你提交的任务的老大,那我这个任务在哪里运行呢?看它都是在一个叫container的容器里面运行。
02:09
那这个容器又为何物呢?这个容器啊,相当于一台独立的服务器,这台服务器里面有内存,有CPU,有磁盘,有网络。就是一台小电脑对吧?嗯,不知道大家这个了不了解这个阿里云哈,像阿里云它呢,在这个像贵州啊,啊或者在这个,呃内蒙啊,它有这种服务器集群,假如说。假如说他只有四台服务器。那么它对外暴露出来了,让用户能够使用的服务器有多少台呢?可能会虚拟出来有400台。让你用,那怎么做到的呢?那它在每台服务器里面都可以虚拟出来对应的内存CPU,内存CPU。硬盘。对吧,哎,我单台这个服务器啊,它的性能非常好,可能是10T的。内存。
03:00
然后。100啊,100个CPU。那我可以虚拟出来,比如说100台服务器啊,每台服务器啊,然后多少内存。啊,这样去虚拟出来一个一些小电脑啊,那这个呢,就是这种container,其实它是一种虚拟化技术。那这种有什么好处啊?大家想想这有什么好处呢?为什么要把它放在容器里面呢?好处就是我这个任务运行完了,我可以自动释放,你说这里的资源直接释放回归给对应的这个诺曼节点。回收用完释放,用完释放这多好啊是吧?哎,更灵活一些哈,好,那这里面产生了一个APP master,它会怎么办呢?它要想运行任务,他会跟这个result manager申请,说我要运行这个任务,我这个任务啊需要1G内存,一个CPU。那好,那result manager呢,就会给他去分配对应的节点来运行这个任务。啊,一个是负责任务的计算,另一个呢,是负责资源的一个调度好。那假如说这个master申请支援。
04:02
说我要运行对应的map task,那就你上面就说行啊,那这里面你就在你这个当前这个节点上。给你开辟一块资源。然后在这里面运行map test运行,那如果说这台服务器它运行资源不够。我还有后续的任务,那怎么办呢?他可以告诉他,我再给你分配,分配一台服务器,你去这里面进行任务也是可以的,可以跨节点啊,这是这个。那同时我这里面还可以有多个任务,对吧,你刚才这个客户端提交的任务是这么运行的。那我这儿呢,又来一个客户端,再提交任务,在这一行可以啊,没问题,可以有多个任务。那多个任务,我这两个任务都可以在别个节点上执行。也是能完成的。啊,这是这样的一个过程,好,那下面呢,记住几个啊注意事项,第一个呢,客户端可以有多个。越说你这家集群呢,支持多客户端访问。
05:01
再来集群上,可以运行多个I master,比如说有多个任务在运行,这没有问题,相当于是have to,一个并行运算,对吧?它的一个优势哈,另一块呢,说每一个note manner上可以有多个container容器,你看在一个note manner节点上可以运行多个container容器。那到底可以运行多少个?啊,给大家稍微说明一下,一个container容器默认的内存是一到8G,比如说最低开辟1G,哎,然后呢,最多给你8G内存。这是默认值,那想想我这里面是4G内存。那我能开辟几个容器呢?最多是不是就能开辟四个容器啊,哎,如果只采用它默认值的话啊,没毛病,那好,那能开辟多少个,那每一个容肯定的容器里面需要分配多少个CPU呢?最少得给一个CP。那这样就决定了我这台服务器是不是同一时间是不是只能开启两个肯定容器。对吧,而且呢,如果说你是一到8G。
06:02
如果任务他超过六个G,那直接这台服务器就当了。啊,他就得分配其他节点或者等待啊,这个要了解一下,这是后面我们会详细给大家讲解这个雅安内部的相关的一些参数啊,那学完这个雅安架构,我们需要记住点啥呢?记住这么两件事就行了,第一个记住我们整个集群资源的老大就是resource manager。第二个单节点服务器资源的老大是node manager。这两个名词记住就行了,OK。
我来说两句