00:00
各位同学大家好,我们继续岁月静好,一切OK,回到架构图,三个哨兵启动成功的监控了三台red服务器,一主二从对应的主通复制关系,OK,那接下来正常情况我们已经演示完成,那么异常情况咱们是不是要给大家唠唠了?那么来证明哨兵的价值,在开始之前,同学们娄爷先看看杨哥给大家配的,那有什么用呢?自己叫二六三七九点看F你可别忘了,这有个东西叫二六三七九点log教一下大家生产上的。实战第一个,如果你哨兵配不动,你是不是抬着笔记本跑来问杨哥,我在教室没问题,可假设现在你在工作当中,你要学会如何排查错误呀。学任何东西需要想到一个问题,一、起步官网是什么?二、出故障了我去哪查日志啊?
01:02
所以如果一个技术你没有登过官网,没看过源码,不知道原理,甚至根本不知道出现故障以后去哪排查,怎么去找这个log日志,那么你这个学习思维和方式是不对的,下面同学们我们先看二六三七九点log,第一个是因为这三个哨兵是三位一体的,所以学完一个,另外两个都差不多,那么所以说同学们先看26379的日志啊,再看26379的配置啊,别忘了刚才我们的配置啊,只有这么多,好,那么下面回到我们的。6379,那么接下来呢,我们先搁到这啊,那么vim3in26379.log,好同学们,那么下面来大概18行,搁到这我们会发现运行的模式是哨兵26379,现在我看的是26379啊,请看哨兵新的配置,Save on disc好保存的磁盘,那么这个哨兵ID,比如说叫775B1,然后加了一个master的my master监控你监控谁。
02:16
6379法定票数两个人,请看加了两个奴隶,加了两个奴隶谁呀?那么也就是说6379是一个master。63806381是吗?是不是加了两个奴隶,那么也就是说挂在谁下面,挂在6379面,然后再再来三呢?New configuration save on disc保存进磁盘写好了,那么这个时候哨斌构建进来,那么来。775B1,那么大家请看这个时候另外两台哨兵,这个是775B1,是身体的一,那么这个时候100%是不是也代表另外两个,那么它也就保证了这个哨兵监控的是三台机器,尤其是主机先纳入管理好,那么同学们这个就是我们的什么一个对应的啊,哨兵配置文件那么好,看完七九以后我们不盘,我们再看看八零,和刚才没多大差别,但是这个时候八零啊,请大家看我叫什么CD。
03:21
ED,我的尾号好,这是我那么尖号模拟这个好说,加了两个奴隶好说,那么大家请看这个时候是不是我们刚才所说的75B10340,这个叫什么啊,是不是我们的三的ID啊,哎,他们呢也分别加进来,整个体系成功好过,那接下来我们这个是log,那杨哥这个看会不会有什么变化呢?我再次强调,刚才各位亲是看着我配置的,我只写到六个幺,就是我们的最后一行了。可是我们刚才看了那么多。配置文件以后,它是不是有句话叫什么save on disc,同学们请回到我们的配置文件看一眼。
04:06
我们自己配的时候是不是只到六个要求结束,但是诶有什么配置rewrite配置重写所产生,那么就这些啊,就告诉你咋地,26379对应的3ID,你看3YID是不是叫775B1刚才我们是不是见过了,我们就告诉你配置1P等等等等,那么好,邵兵已经知道了。Replica复制谁,那么就是好明白了,邵斌就通过这个就读到了他们的主从关系,原来八零和八幺是跟着七九来混的,OK,那么来CDD什么零三。四三,那么这个时候是不是哨兵你就知道了,对应的哨兵要监控的是哪些东东,OK,好,那么他在后面是会默默的给你写一些东西的啊,那么这个呢,你不用保存,那么来这是七九一样,那么八一或者是八零呢?那么同学们来看一下是不是也会添东西,哎,所以说他后台日志产生的那个什么save on disc,最终就是给你写了一个配置的重写,就告诉你哨兵你们哨兵你们哪个三个是一伙的,你们监控一些什么样的端口和red主机,给告诉你的清清楚楚,OK好,那么同学们这是一个。
05:22
配置的日志,那接下来回到这儿,我们呢就要开工了,我们自己手动关闭6379模拟master挂了,好,那下面这个倒好说,现在6379MASTER主机,我下次蛋一关,那么就要看看我们的哨兵能不能。成功的来安排我们的投票和选举来吧,那么现在弟兄们在K3V三都挺好的吧?Get k3没问题吧?那么最后测试一次get k3好了,下面同学们不废话,我是6379,直接干嘛shut down,请看。
06:02
大概是不是比以前的花了点时间,零点接近一秒钟以后才关机来了,那么同学们我们就要思考他后台啊,开始进行选举了,这就是为什么杨哥要大家读这些配置和敲刚才的那些log日志。来吧,我们的问题思考第一个两台从机上的数据是否OK?那么我们首先要保证就是你master死了,这台机器下线了,弟兄们都清楚吧,那么你master挂了,挂了就挂了,关键是你统计的数据得给我保证。那么来,我们先验证第一个问题,现在get看一,哎呀。他说server closed the connection,诶,这是什么情况?那我们统计也挂了,那么好,那要不我们再来试一台,刚才K2是可以的,我再试一次K2,哎呀,Server closed the connection,那我靠,杨哥坑爹了,打脸了吧,你这个配置全失败,好,我们不烦先来看看,他说note connection,你别忘了。
07:12
一开始的主从复制啊,我们这个整体架构是OK的,但是master挂了,它的连接是会被改选和重置的,所以里面内部是进行了非常激烈的投票选举。所以。干嘛?所有的组织关系被打断了,我们要重来一次,再来一个K线诶。有有有了,那么再来一个K2,有有也有,那么再来一个。K1有没有再来一个?K2有没有,我not connected,我没有重连啊,嗯,说明什么?它需要进行一下网络的重新读取和规划,告诉你兄弟我哪出故障了,那么你原有的那个连接被断开了,可能需要重发一次心跳包,重新续接上去,那么所以说同学们请看kiss心啥情况123啥情况,123是不是通通都存在呀?所以说回答了同学们的第一个问题,两台重机的数据是否OK,那么我们的答案是OK的。
08:21
OK,第一个问题过,那接下来啊,我们呢,来看一下是否会从剩下的两台机器上选出新的master,那么同学们这咋整?现在6379是不是暂时告别我们的舞台,跟你没关系,你已经死翘翘了,那么下面那到底是八零上位呢还是八幺上位呢?好,那么同学们,我们来完成我们的第二个演示,二话不说,For reppeation,弟兄们,没问题吧,下面先来看一眼。哥哥,我是谁?Slave?但是请看下面一句话,6380现在自己的身份是slave,然后master端口多少?6381诶,状态是up。那么最经典的证明方式同学们都晓得,如果是slave的话是只可以读不可以写,那么get k3行不行?那假设我get k set k4V4呢?对不起,瑞ID only模式啊,那么所以说坐实了6380你还是slave的状态,那接下来可以看得出6381按照我们现在初步的判断,是不是已经变成了新的master,所以6381IN for reppeation,走一圈啥情况?Master,然后下面带着个小弟,这个小弟是谁?6380?所以6380自己还是个silver没问题。
09:56
但是他重新拜了一个老大6381,也即我们的哨兵,知道了6379挂了,那么在八零和八一之间做了一次选举和安排,那么主机退位,两个同学里面新选了一个,目前看是不是6380还是保持不动莱,6381重新上位啊,OK,好,那么接下来别着急,同学们没完呢,那么这个选举过程是些什么样的情况,我们呢,待会儿还要给大家进行证明来,我们现在呢,先来看下面是第二个问题,是否会从剩下的两台机器上选出新的master,大家已经非常详细的看到,绝对会OK,我们不相信的同学,我们再来演示啊,咋整,是不是有一种东西叫S26379?第二,什么是不是叫log?我们依旧要看看log。
10:56
好,来,同学们,赛塔nu,来,各位同学。
11:03
我们来来看一眼,之前大家还记不记得我们只是到大概一个18行,由于我们的6379已经宕机了,那么哨兵开始运作,请看没有it done master my master,什么6379挂了,那么new approach来开始一次新的。运行的程序的后台动作他干嘛?Vote for Li啥情况?是不是开始进行选举?那么来吧,告诉你欧蛋啥东东是不是叫客观下限,6379,那么三票里面有两票,请看是不是跟我们前面设置的是一回事,那么告诉你,然后重新配can update from这个,那么哨兵,哎,6380看到没有6379么两次哨兵。这这个投票Switch master交换这个master谁就告诉你6381是不是,你看Switch master my master,谁6379被谁给替代了6381?所以看日志我们也明白,6381通过这个选举获得了新的老大的位置,OK,那么最终莱加莱家啥情况?
12:23
意思就是说6381变成了什么Switch新的老大,那么6380加到6381上面来,这又写了这一行,那么就是我们还没有启动,你也应该明白,之前宕机的master机器重新回来以后,谁将会是新的老大,会不会说master冲突?那么请告诉我这个问题你有没有答案呢?为啥?因为我们从这是不是也可以看得出,不好意思啊,新老大是谁啦,6381,那么如果6379回来了,我们可以做一个大胆的假设,待会来小心的验证,那是不是6379?不好意思啊,轻伤不再依旧在了,新老大已经变成了6381了,OK,所以请大家看这个slow,但那么OK,各种下限我们前面所讲过的都给大家呢,说的很清楚了,来,这是我们的6379。
13:22
第2LOG,那么来看看不凡我们的6380第二个哨兵,他又是怎么说的呢?那么和之前的一样,大致我们原来没改之前是什么18行对吧?那么现在从18行开始看,你看S大。对不对,然后O蛋,那么什么先是主观下线,然后欧蛋客观下线了,OK,来吧,开始新的循序TRY,看尝试故障迁移,买MASTER6379,因为6379是不是挂了吗?那么来吧,Vote for leader,然后一票一票的投,哎,因为要各种日志混合起来看最个号选取出的新leader是不是。
14:04
这个我们要去替代的是不是个6379,最后故障迁移,那么来选的奴力,然后故障迁移等等,那么最后也是我们一样的效果,来我们呢,来看一下通过的后台的各种投票,谁先拿到两票了,最后选出来一个哨兵去推动这件事儿。最终Switch my master是不是还是我们的6381杠翻了我们的6379OK,那么这个大致就给这个日志就给大大家呢大概的读取一下,那么来同学们和刚才一样,是不是也是这么回事,Vote那么一票,然后呢,谁先到达了我们对应的票数选出来,最终选出了我们的6381,替代了6379,变成了Switch,新的master,好,那么同学们现在通过日志和我们的数据验证,第一个两台同居数据OK,第二个是否会从剩下两台机中选出新的?
15:09
Master会第三个之前淡季的新老大重启,回来以后谁将会是新的老大?会不会双master冲突?那么来吧,咱们呢,直接回到这儿,一步一步的按照我的流程来开工,那么现在哥哥我6379重新上位,那么来,我6379也要连上来,那么稍等它一会儿,OK,好,那么接下来,那么同学们你们应该晓得的什么,等到是不是哨兵上,它又会有文件和日志的变动啊,那么不妨同学们我们回来看看,那么大家请看啊,之前是6381等等,直接comment to什么东东,Slave。几6379这么说能跟上?所以说我们这儿大胆假设,小心验证,我们的理论依据就是convert to谁那么说明什么6379从以前领导的位置是不是就下来了,他被别人抢班夺权啦?
16:12
来,不好意思啊,这个时候还没连上,那么再来一次,OK,有了吧。
我来说两句