00:00
好,我们了解完h base在表格上设计的一个概念之后呢,接下来咱们来一起看一下h base的一个基础架构啊,这个基础架构呢,就是在给你介绍我们在使用h base的时候相关进程的一些内容啊,这里主要是跟进程有关,我们打开图片来看一下。好,那首先呢,这个h base的架构里面啊,区分出了两种角色啊,因为它是分布式的一个结构嘛,啊,相信大家只要学过上规谷的好多课程啊,对分布式的结构呢,都有一定的老茧啊,分布式结构说简单一点,就是一个老大带一帮小弟啊,那也不例外,他的老大呢,就叫master对吧?啊,老大呢叫master啊,那这个master呢,通过组kper实现一个分布式的管理啊,通过组kper实现分布式的管理,那组kper下面呢,会对应有他的小弟叫region server啊,Region server呢,将自己的进程信息注册到组K里面,Master呢,去读取组K派里面注册的这些信息,从而实现对他小弟的一个管理啊,这个结构非常经典对吧?你只要阿帕奇的这个框架呢,多学几个肯定都了解过啊,那同时呢,有了这么一层结构之后呢,哎,相对应的我们还会有一个功能叫高可用啊,阻隔瓣还能实现一个高可用的一个功能,对吧,它除了一个主要的老大之外呢,它还可可以有一个。
01:21
备用的master啊叫backup master啊,备用的master备胎,他有这个备胎之后,就是预防这个master如果挂掉了,哎,可以让这个备用的master呢上位啊,去继续实现一个管理的一个功能啊,从而呢,让他这个解决单点故障的一个问题啊,我们都知道底下的小D是没有单点故障的小D嘛,消耗品对吧,死一个另外两个还能继续做,但是老大就不行啊,老大呢,在基础的结构里面都只有一个啊,所以呢,我们往往会启动一个高可用加一个备用的啊,解决单点故障问题啊。好,这是我们的基础的一个架构啊,进程之间的一个联系啊,就这么来的,那进程有了之后呢,就要说一下它底层是如何管理这些数据,如何工作的啊,那我们h base的数据都是存储在HDFS上面的啊,你就要对应的有这个HDFS的一个结构,对吧?HDFS集群啊,在集群里面存储对应的一个数据啊,那比方说这里呢,我们打个比方,有两个表啊,有两个表,那这两个表呢,对应的就是一个文件夹,这个文件夹的名字就这个表的名字啊已已经有了,在这个表里面它会切分成多个region啊,切分成多个region,这个region在你定义表的时候就可以给它切出来了啊,你定义一个表的时候,你说谁到谁是哪个region,谁到谁是哪个region,给它切分出来。
02:40
就可以了啊,切分出来多个region之后呢,再往里面,再根据这个表格的列足,再切分成一个一个的道啊这些信息都在你建表的时候可以直接声明出来啊,都直接声明出来,他就已经创建好了,这里面的。表格名也好,Region也好,还是道也好,都代表HDIY上面的一个文件夹啊,都是一个文件夹,那如何进行一个管理交互呢?
03:06
在底层的时候呢,会存储这个文件啊,这个文件呢,叫H菲啊,你叫他菲也行,叫他H菲也行啊,那个官网上呢,就是给他了两个名字啊,其实一个意思,H贝fair嘛,对吧?哎,Stop fair嘛,那一个意思啊,好,我们在进行管理的时候呢,是以region server去直接操作一个region为主的啊,这每一个表都一样是吧?哎,是以region server来操纵region为主的啊。有对吧?哎,此时的这个region呢,由三个region server随机的进行管理,尽量的一个均衡啊,这个均衡呢,由master来进行操作,因为master是分配的嘛,啊,你可以把这把这个reading呢,当做一个一个的街道,对吧?哎,把这个呃,Reading summer呢当做一个一个的这个街道管理员啊,那他去管理这个街道啊,但是数据呢,还是存在HDS上面的啊,这里的表格呢,有一个是特例啊,就是这个。I base系统的命运空间里面那个原数据表啊,它是存储在ID上,但它是由master来进行管理的,不会进行一个切分啊,是由master来进行着重的一个管理的啊,只是数据还是存在h Di上面,那对应的这个region server和这个master,它主要的功能是什么呢?在上面有啊,它都是主要的一个进程,你在使用h base的时候一定要有啊master呢,我们通常把它部署在name not上面啊,就跟那个HDS相对应上啊,它的主要功能通过组K去监控S的一个进程状态啊,谁挂了对吧?我要第一时间知道啊呃,同时呢,所有原数据变化的一个接口啊,就是管理这个原数据表的啊,它同时呢,会启动一个监控reading经故障转移和拆分的一个线程,什么叫故障转移和拆分呢?
04:44
有两两点,一个叫转移,一个叫拆分嘛,啊,他这个转移啊,啊指的是三个街道管理员,对吧,去管理这么几个街道,他有时候啊,会造成不均衡的一个现象,比方说这个region server,他比较贪心,他一下管了四个region。
05:01
什么叫管理呢?这个管理也给大家介绍一下,就是说我在往这个表里面写数据的时候,是由他来操作的,就是他管理啊,就是这样,你你读写数据是由来进行操作,就是他管理嘛,对吧,我要往这个地方读写数据,那由他管理,那就是他啊,就是他啊,如果他呢,一下管理四个,另外两个呢都没有管理,那这就明显不均衡了啊,如果不均衡的话,Master会紧急发现,毕竟是老大嘛啊,知道小弟之间闹矛盾了,去调理一下嘛啊,那就把这个瑞金呢给他拆分出来就可以了。那什么叫故障转移呢?故障转移就是说你这个三个小弟啊,是有可能运行着运行着有一个挂了啊,比方说这个人呢,他管理这两个store,但是过一会儿呢,他挂了,那这两个star你再往里面写数据的时候,不就没有人操作了啊,那这时候呢,Master也会紧急发现,把这两个store呢,管理权交给另外两个人,那交给另外两人就意味着你在往里面写数据的时候,由另外两个人来进行操作,哎,它本质上的结构就在于region server。只是一个服务去管理数据永远不会存在region server里面啊,数据是不存在在里面的,存在HDS上面啊,这是它一个点啊,那region serve2的功能对应的也已经说出来了啊,主要是负责这个数据的一个处理啊,读写数据,同时它还会有一个region的一个拆分和合并的一个功能啊,这个呢,咱们在后面详细原理的时候再给大家介绍啊,那这个整个下来呢,就是它的基础架构,HP的基础架构,我们可以看到HP在使用的时候呢,依赖于组K和。
06:30
HDMS啊,你在使用的时候需要先把这两个给启动,然后你才能使用啊。那对应的下面呢,我们也会有这个文字的一个介绍啊,那首先呢,Master吧,这里面呢写的有啊,相当于是文档上面内容呢,再给大家介绍一遍啊,Master管理员数据表格啊,接收用户对表格创建和修改删除的一个命令啊,于是操作表格的命令是由master来执行的,同时它会监控这个reading啊,来处理这个负载均衡,故障转移和region的一个拆分,它会启动多个线程去监控这些功能啊,比方说有一个叫负载均衡器啊,周期性的去检查瑞server里面是否已经均衡了,默认是五分钟检查一次啊,下面呢,有一个叫原数据管理器啊,定期的去检查原数据表里面的数据啊。
07:19
呃,这个具体啊,原数据表里面有哪些内容,咱们再放到后面再讲啊,还有一个呢,叫淤写日志的一个处理器啊,什么叫淤写日志呢?咱们在HHDMS里面介绍的时候呢,有一个叫edit,不知道大家还记不记得啊E吗?Edit啊,这个edit呢叫修改日志的意思,那这个预写日志跟修改日志其实是一个意思啊,我在操作master命令的时候,就比方说我让他去创建一个表格,对吧,我让他创建一个表格,结果这个master挂了。他要是挂了不就没有人创建表格了嘛,对吧?啊,那这容易出现问题啊,怎么办呢?Master在接收到信息之后创建表格信息之后,他不会马上去创建表格啊,他会先把呢我要创建表格这件事儿马上落盘记载下来,说我我以后一定要创建一个表格啊,先记下来,记下来之后哎,他才会反装,哎我我晚上会我会创建啊返回一个OK的一个命令,对吧?那如果他记下来之后,他挂了怎么办啊,如果他挂了呢,会有backup master。
08:17
备用的master,备用master在上位中呢,会先去检查预写日志,如果预日里面有没有进行的这个操作的话呢,那这个贝up master会进行一个继续干对吧,读取日志继续干啊,这是两个人交替工作的一个问题啊,叫预写日志。好,再往下呢,是region server啊,Region server的实现类呢叫h region server,咱们到时候能看得到啊,它主要是负责数据的一个操作的,那同时呢,它也会拆分合并region啊,由master进行监控,由它来进行执行,咱们在进阶里面呢,会详细介绍它是如何拆分和合并的啊。再下面一个呢,叫主K和ids啊,这个呢,哎,咱们学过基础课程的应该都知道啊呃,主K半呢是用来实现分布式的,同时呢能帮助I base实现一个高可用啊。
09:04
这个里面还有一个细节,就是I在数据读写操作里面是直接访问主K的,这比较特殊啊,在2.3版本之后呢,推出了一种叫呃主注册表的一种模式啊,这种模式呢,客户端直接访问master啊,这个模式设计出来啊,主要是为了减轻对主K的一个压力啊,咱们在企业开发里面也能感受得到啊,组K工作压力非常大对吧,他要监控呢,帮助协调非常多个框架,你可以呢,让他直接去访问master也是可以的啊,就给他默认是访问组K的啊,最后一个HDS啊,为h base提供最终的一个数据存储啊,同时呢,给他提供一个高容错啊,这个呢,在HDS课程里面都有相关的一个介绍。好,这整个呢,就是我们基础架构的一个介绍。
我来说两句