00:01
好,介绍完master的详细架构之后呢,哎,我们说master里面啊有很多个组件对不对,那master呢,它是一个进程啊,我们说这些组件呢,它是在这个进程,也就是这个对象里面的,诶一系列的一个线程,那咱们呢,在之前介绍课程的时候就有说过,咱们要跟源码呢进行一个对照啊,那在这里呢,咱们就来去给大家介绍一下啊,如何去找对应这个进程的源码啊,及其呢,它里面这些组件到底是怎么样来去编写的啊,咱们来实现一下,好,我们呢有一种比较简单的方法啊,以前呢,你得去自己翻代码啊,自己翻文档比较麻烦啊,那现在呢,大家都使用idea啊这种比较呃先进的一些软件了啊,用起来呢非常的方便,好我们来到idea这边啊,如果你只是导包了h base的一个客户端的话,哎,显然啊,这个h master和h region啊,它显然不是客户端的,你直接摁。
01:00
的快捷键CTRL加N,在里面输入h master。你会发现啊,这里面呢,是找不到对应的一个类的啊,这个其实非常的啊明确,因为h master它属于一个服务端,对不对,它不是客户端的内容,好这里呢,我们需要额外导入这么一个服务端的依赖啊,叫depends。好,里面是h base啊,对应的一个server服务端,好嗯,Group ID呢还是org阿尔法h base,那对应的一个版本呢,还是2.4.1啊嗯,这一个依赖包呢,H base server呢,跟上面的这个HP client啊都会有这么一个,呃,测试的Java X这么一个依赖的一个问题啊呃,如果你不把它去除呢,它会报一个加载依赖的时候一个异常啊,不过这个异常呢,并不影响咱们来看源码啊,可以选择直接导入啊嗯,这个包呢,它大小呢还稍微有一点偏大啊,第一次使用,第一次加载的话呢,会要稍微等待一段时间,等待你的idea呢下载完成,那我这里呢已经下载过了啊,它只需要呢去检查一下啊就可以了,它这里呢会报一个异常,诶,可以看到还是这个Java X的一个snapshot啊,叫快照版本,也就是测试版本的这么一个异常啊,可以呢,不用去管它,并不影响咱们的一个操作。
02:16
如果你想管的话呢,跟之前的一个操作流程呢,也是一样的啊好,我们导入了h server之后呢,那对应h master肯定就在这个服务端里面了啊,还是相同的快捷键CTRL加H在里面呢,输入h master,输入完h master之后呢,这个地方就会有对应的一个h base master的一个类,就是这个h master啊,就是h master,如果你是第一次来导入这么一个,点到这么一个源码的话呢,你的页面跟我的页面应该是不一样的啊,因为呢,你没有下载相关的一个源码啊,在最上面的地方。会有这么一个选项啊,你选择download source就可以了,下载源码就可以了啊好,下载完之后呢,就跟我的页面是一样的,首先它有一个箭头,有箭头呢表明它有me方法,它是一个进程的入口,对不对,那实际上呢,我们启动master就是在启动当前的这一个类啊,就是在启动当前的一个类,它在启动完之后怎么做了些什么呢?那肯定都在它的魅方法里面有介绍啊,那无外乎呢,就是生命周期的一系列方法,对不对,启动它的一些属性,那我们刚才介绍的这些组件呢,相对应的就是它这里面的。
03:25
对应的属性对不对,首先我们介绍了有一个叫负载均衡器在这儿load balancer对吧?哎,负载均衡器它这个属性呢,哎,有对应的这么一个对象,我们可以去查看一下这个对象,看一下它到底是如何实现的,就是负载均衡这个功能啊,到底底层源码是如何实现的,你点这个对象点好,你点完之后呢,它上面有啊,是依赖于这个ZK的,哎,为什么说它依赖于ZK呢?你看它本身啊,是没有这个呃,特别的一些方法的啊,你可以这个嗯,CTRL。
04:00
加F12CTRL加F12啊,这里面呢,是没有对应的一个这个启动的相关的一些方法的啊,这里面呢,只有。这里面只有啊,它是否负载均衡对吧?啊来去调用,然后查看一下,那它真正的启动的方法在哪呢?在它的负类里面啊,这个负类呢,你在很多地方都能看到叫ZK节点的监控者啊,你翻译成汉语它叫ZK节点的监控者,什么叫ZK节点监控着呢,哎,这跟组K派的那个机制有关,组K派呢,是将是将它实现分布式的这些组件作为它的一个一个临时节点,哎,给它注册到它那个目录下面啊,那通过监控它的呃,节点的以及它节点里面的一个信息啊,节点本身以及节点里面的信息来判断一些东西啊,最终呢,得到一些反馈啊,那这个类呢,应该是比较常用的,你点进去。好,你点进去这个类里面之后呢,哎,就可以看到了,CTRL加F2,它里面呢,就会有一些比较标准的生命周期方法啊,比方说start和stop看到没有啊,就是通过它来进行一个监控的,那相对应的呢,H base如何实现对齐的一个监控呢?哎,通过监控组K里面的信息啊,又印证了我们前面讲的相关啊h base master的这么一些原理对吧?啊,相互是能够得到印证的啊,底层源码呢,就是通过监控ZK节点而实现的。
05:21
好,我们回到h master这边啊,嗯,除了这个负载均衡监控者之外呢,上面还会有一些啊RA server的监控者呀,还有一些别的监控者,对吧?这些呢,都是master基础的一些功能,那你再往下找,再往下找啊,这个对吧?哎,原数据的一些信息了,对吧?我们讲啊,Master主要就做这么几件事儿啊,在对应我们的这个PPT里面有介绍负载均衡监控追进对吧?原数据管理去处理这里面的一个信息,还有一个呢,是它的预写日志,对吧?我们主要讲这三个组件,那些基础的功能咱们没有说啊,它肯定是要监控这个region server的,对吧。好,你再往下呢,也能够找到我们所看到这些内容,全部都是作为它的属性,诶来去一一实现的啊呃,这边呢,有相关master预写日志的一个管理者,对吧?如果你想检查,嗯,想去更加深入的了解这里面的东西的话呢,你挨个去看源码就可以了啊,像我们这些呢,如果只是了解一下它的一个原理的话呢,找一个对应哎就可以了啊,说实话我们看源码的时候,多数情况下看的都是它的注释对不对,我们只需要看一下它注释就知道当前的这个组件呢,大概是做什么事情,这里面呢,还会有一个叫split wal manager啊,可以看到监控啊,切分这个region的活呢,是master来做的,咱们后面会讲啊,但实际上切分的这个活呢,是region server来做的啊。
06:44
好,这是,诶怎么样找源码里面有一个相关的一个对应啊,你也可以按一些快捷键,CTRL加F12可以快速的来浏览啊,这个master里面具体有哪些内容。对吧,哎,可以看到组件还是非常多的啊。
07:00
好,咱们只做一个对应啊,具体的内容呢,咱们就不介绍了啊。好,这是我们master的,如何去跟源码进行对应啊,也给大家提供一个查看的一个方法。
我来说两句