00:00
好,接下来我们简单的说一下这个,刚才我们这个价格图上几个组件,它都是干什么事的,很多干什么的,首先是客户端,那客户端比较好理解是吧,就发送什么读写请求的啊,读写请求的那这块就不多说了,那第二个从cable读C干了什么事呢?做master一个高手用,就后面讲完高手用,哎,通过这个VIVO来做的第二个reading的一个监控。因为它是不是掌握了整个这斯集群那个什么。原数据信息吧,所以说它的一个监控啊,是由VK来做的。你可以来做的啊,当然他监控做了之后呢,他触发了一个请求,他自己不能。啊,自己不能就类似于V的切分,然后那些合并啊,那个东西是由master来做的,他会将他监控到的消息来通知给master。啊,这是它的概念设计第二个原数据的一个入口。原数据的入口,那这块是什么意思呢?就是说之前我们讲到客户端最终请求是请求到VSO读写的,对吧,但是客户端是怎么知道哪些数据存在这个VPSO的,对吧?因为我们之前所讲的那不同的VPSO上有不同的表,或者说就算这两个VPSO上维护的一张表。
01:17
但是你这个维护的是一到1000,你这个是什么1001~2000对吧,那我请求的时候,假如说我从客户端我要查一个1005这个数据,他是怎么知道在这个上面来存的呢。他先去找ZK,因为ZK里边有原数据信息,就类似于我们在SDF读写的时候,它是不是先去找内蒙note呀,对吧,找到内弄的拿到这个原数据信息啊,所以说这个地方客户端先去找VK啊,这个是他原数据入口的一个意思啊,就是到时候我们会看到VK里面到底保藏什么东西。然后集群的一个配置的一个维护等工作啊,这些就是维护整个集群的一个正常运行的,因为我们还一个。
02:01
还是被的一个运行呢,它依赖于K宝啊,依赖于K宝OK,然后。这个就是具体的一个解释了啊,解释了就是保证一个master的运行,就是配高可用的,对,然后通过UK来进入它一个状态,有异常的时候,它是将那个状态信息啊发送给master,由master来处理,ZK处理不了,ZK只做监控不做处理。处理是由master来处理的啊,由master来处理的OK,然后存储原数据的一个统一的一个入口地址,刚才也解释了,就是客户端在找实际数据的时候会先找。来获取这个原数据信息啊,是这样的,然后看一下第二个h master h master干什么呢。为reading so分配reading reading so是不是真正的工作的节点?对吧,它维护的reading是不是我们所讲的一张一张表啊。哎,这个东西这个表是由谁来给你呢?使用master master来指明这张表由谁维护,由谁维护,第二,维护整个集群的一个负载均衡。
03:05
本其实就是分配reading嘛,它核心管理的就是reading嘛,对吧?啊核心管理的就是reading,那你要是reading到了,它做一个切分之后啊,两个reading分给不同的VSO来维护,就做它的一个负载均衡的啊,做它一个负载均的,OK,然后。维护集群的一个原数据信息,维护集群原数据信息,这是他有的,因为CK当中我们提到了,他这个原数据信息是不是H8给他的呀,H8给到的所他也有一份,他有一份还有发现失效了reading。并将失效的reading分配给正常的微so。正常的搜索,那这个是什么意思呢?其实跟这个一样啊,跟最后一个这个是在一块的,就是说我正常的维护看啊。这是master对吧,这是RS啊,RS2RS1。那里边呢,他不同的人都有维护什么。
04:01
Reading对吧,哎,R reading,那突然假如说这个RC拨号了呢。对吧,你刚才说你维护的一到1000。我是1001~2000这个数据,那你突然挂掉了。那我在客户端来请求的时候就请求不通了吗?这不合适吧,哎,它也会做这个事情,如果说它监控到整个reading reading so挂掉了,那也就是说发现了失效的reading嘛,Reading so挂了,你这个reading是不是不可用了呀?你这张表就访问不到了吧,无论增加啥都访问不到了,它s master会讲什么事呢?会将那个reading交给其他的一个。V0缩来维护,那有的空间在这个地方就不理解,那你这个VSO都挂了,你这个规定怎么还能拿到呢,对吧。对,大家肯定一般在这块都有这种疑问,想一想看一下,首先h master当中有没有它这个原数据信息。
05:00
第二,这个reading。维护其实最终是存在哪了。存在,那你说了我数据丢了吗?没丢吧,我就有吗?那我交给其他的微信搜索来管理,能不能管理啊,可以吧,啊,就是说我不让你管理了,你就是一个管理的一个进程而已,就你是维护了,那我就把这个相应的原数据啊,还有这个实际的数据地址,我给到另外一个搜,那你就能够正常工作了。正常工作了,是这样的一个过程,OK,好。这块都一样啊,还有这个不光是reading,它这个X log也会给他。也会给到。也会给他也会给另外的一个,因为这个h log,刚才看到那个图,它也是会写到。HDFS的看见没?H log也是保存在HDFS的。啊,也是保存在DS的,所以说那你一个东西挂掉了之后。
06:04
首先你物理存储这个东西,我从HD上可以恢复吧,还在那,但是这里面的东西。那你挂了,真的丢了吧,那通过什么?H lock来恢复了H,所以说他在维护这种什么h master发现so换了以后,它不光要将这个失效的reading啊,整个的什么so fair,就是HDF发那个数据交给其他的来维括,同时他还要将这个h log也给其他的,因为内存当中数据还要恢复,对吧?哎,那你另外一个搜按照那个X log将数据就能恢复出来啊,就能恢复出来这样的。好,然后接下来聊一下这个。为他所干的一个事情。啊,它所在的线他干什么呢,第一。这个东西就不用多说了啊,它是真正来请处理这个读写请求的啊,增加改达的一个请求啊,都会给到这个维搜狗,那第二他是真正干完一个节点,它真正干的一个功能,就是他干的一个事情呢,在这第一。
07:07
管理HMR为其分配的一个reading。对吧,一个reading搜索里边是不是有多个reading啊,它核心的工作其实就是管理这些reading对吧?啊,第二个处理来自客户端的一个东西请求。负责和底层HD交互,将数据存到HDFS。啊,他调用idfs API,将我们内存当中的文件存到iddfs吧,哎,这是他干的事情,好负责reading变大以后的一个切分。负责变大以后的切分。那你这个瑞在这我切分有百来做吧。但是注意,它是实际的工作节点,他是负责切分的,就是说切这个操作是由他来做的,但是切这个东西由谁触发的,是由master。就是master告诉你什么时候切你这个东西该切了,但真正切的请求呢?切的操作呢,是由微搜索,这能不能理解?就是说h master发现你这个检测到你这个原数据,它都有原数据嘛,来一条数据,它都会给你原数据对吧,那发现你这个表啊特别大之后。
08:08
一对一对比什么呢?它有配置文件,相应的没有配置文件,你说多大来进行切分对吧?啊,那他发现了一对比,他到了切分那个时候的时候,他给。H reading发送一个请求,发送什么请求呢?你该切的,那真正的切的操作是由h reading so来做的啊,这能理解好,还有负责缩FA的一个合并,之前我们讲的缩不是一个一个的小文件嘛,它还有合并工作,对吧,那合并呢,其实也是由这个微来做的。但是这个请求同样呢,也是由master给到的。就是master负责监控整个机器人的状态,对吧,他发现这个小文件很多了,很多的时候他会发出一个指令给这个reading,说你应该来合并了啊,你应该来合并了,是这样的一个请求啊,这两个,所以说实际干活的都是它,但是发送指令的呢,都是master啊,由master监控了整个的一个集群的一个状态啊,集群的一个状态是这样的。
09:03
然后还有一个角色HDFS,那HDFS比较简单,就是什么。提供底层的一个存储数据吧,啊,提供它那个高可用,它这个高可用指的是。H base当中我从来没有提一个副本的概念,对不对?那它为什么没有副本,它有副本有意义吗?它是将数据存在HDF的,那HDFS有副本就等于h base有副本了,哎,所以说它没必要将数据说在h h base当中有存几份,没有必要,那个人那个东西就没有必要了,因为HDFS就给你做了一个备份啊,做了备份是这样的。这块还有一点是吧,这两个东西,嗯,角色,然后这两个东西我们就不说了,然后看一下其他组件,其他组件第一个。Lo就是我们刚才提到的那个hlo啊,它的一个文件比就是最终在HD上,我们不是刚才讲的这个hlo会存在HDY上了,对,它存在HDIY上的那个文件夹的名字叫W。
10:14
啊叫redlo啊,就是这个ILO是一样的,并且。就是编辑日志啊,编辑日志防止数据丢失的,是这样,OK,还有一个。对吧,H base表的一个切片,那当它这个表很小的时候,它是不会切的啊,就一个reading就对应于一张表。也就对应一张表,但是大了之后它会进行切分,进行切分,OK,这个地方提到了,会让到按照RK的值进行切分,那RK其实什么呢?就HB当中非常重要的一个概念,Rookie航线是吧,就是。一行一行的数据嘛,这每一行数据都有一个唯一的一个行件,就类似于什么呢?呃,MYS当中主件知道吧,啊,就是它,它是h base当中的一个主件,H base当中一个主件,那你稍微记一下,它叫r key,它是根据这个rookie啊平均的,哎,把它分到不同的R里边了。
11:09
根据这个东西来分到OK。然后他说切分之后,不同的reading存储在reading so当中,Reading so当中,那一个reading so当中可以有多个不同的reading啊,就是我们所讲的一个reading so可以维护不同多张表吧?啊,你可以维护多张表,那你要想想看,你一个reading so只能维护一张表的话,那你还是可以写太多了。那你要发多少个节点来维护多少张表?那不太合适吧,所以说一个region so当中呢,它可以维护多个不同的region啊,就是维护多个不同的表啊,是这个意思,OK,然后还有对。Store,然后h file存储在store当中,一个store呢,对应于HP当中的一个列。一个列组,但是你要注意一个so对应一个列组,这话没错对吧,因为一个数里面肯定是一个列组的,但你反过来说呢,一个列组对应一个so就就不对了吧,因为它会产生切分,那一个列足会切分成多个不同的so。
12:09
啊,不同的store,所以说这个话呢,它直接它是对它是一对一的关系,但是它反过来就是一对多的关系了,一对N的关系啊,这你要知道啊,就跟我们刚才所说的这个region一样,Region一样。啊,然后啊,就是说他这个内存存储,然后。当数据写进条来了之后,它会将那个数据的一个编程日保存在这个什么hlo当中,保存在hlo当中呢,它会对在内存当中对这个数据进行保存,先写到内存的啊,那当然隔到一定的时间之后,它会将这个数据哎写到磁盘啊,最后就是我们这个h file HL啊,其实它就有一个实际的一个存储文件的一个形式啊,多fair看多是以h fair的一个形式存储在ID的,它就是一个存储的一个文件的一个格式啊,类似于我们所学的什么orc也好,PA也好啊,都是存储的一个形式啊,这块的一个内容。
13:03
好。这是整个。
我来说两句