00:00
接下来我们就来使用cooper fair,在cooper notice里边先来快速的搭建一个MYS的这个主存集群,好,我们现在来我们打开这个Google s fair,我们现在呢是创建一个我们现在的这些MYSQ之类都是有状态服务,这块呢也都有提示,像mys zoo keepper这些,那我们现在想要部署my circle,那我们就应该创建一个有状态服务,我们在这来选中有状态服务,那名字呢,比如我们就叫鼓励email,我们的my circle,我们这个服务名们来写MYS,而且呢,我们现在是MAS,我们现在是要配一个主从,好我们就叫MYS们这个主节点。我们这个马S狗的这个主节点,我们来配置一下,然后呢,容器组的这个副本数量,我们就来写一个一,还有它默认步数,我们看如果它有多个的话,我们可以让它尽量的分散到不同节点中,不让它出现单点这个故障问题,然后接下来我们想要部署MYSQ,我们可以添加MYSQL容器的这个镜像,好,我来写一个MYS,那么这个MYSQ呢,我们用15.7版本,我们直接来搜索一下这个镜像。
01:06
那找到这个镜像以后呢,我们可以点击使用MYS狗的默认这个端口,然后呢,再在这儿来限制一下MYS狗的这个资源,它呢在2G以内最多呢用这么多,然后再接下来,那么这块都写了以后,剩下的这一块有一个环境变量也非常重要,这个环境变量呢,就是那么这个马SQL默认一开始启动的有一个root用户的密码,这我们以前都配过,我们可以选一个MYSQL的这个root用户的密码,它的这个环境变量我们去马S的这个doer HUB里边,我们找到的也是这个好,这一块呢就先快速的配置好,然后在接下来我们在这配置好以后,我可以来点击下一步,这一块呢,主要是选择了一个满S的这个镜像,然后我们来点击下一步,下一步这有一个挂载存储,挂载存储里边呢有两个挂载,一个呢叫挂载配置文件或密钥,还有一个挂载存储卷,所以我们现在想把MYS的配置文件我们也单独抽取出来。
02:06
那好,我现在就把这个关掉,MYSQL的配置文件,我们就单独来到这个配置里边,我来点一个创建配置,这个创建配置我们就叫my s master。的这个config好,这时候master master的这个配置文件好,我们就叫master配置来点一个下一步,那master的配置是什么好,那key这一块呢,我们就来写一个my con,因为我们现在master的默认配置文件我们都叫my con,我们可呢就写一个mycon比较具有标识,然后呢,我们将满S的主配置的这个配置文件,我们就从之前的复制过来,我们随便从我们的这个主从里边,好,我就来把这一块一复制。从这开始复制,一直到下边CTRLC,这是第一个内容,然后呢,我们这个值,我这一块RLV,我们粘过来,这是第一块的内容,我们把这个值来复制一下CTRLC。
03:04
在这确认一下这一块值CTRLC,然后呢,我们在这粘贴好第一块的值,然后下边还有还有呢,我们就把下边的这个也一复制server ID。好,我们在这一复制,然后呢,把这一块CTRLC1复制,来到我们的这个cooper fairre里边,好一粘贴我们点一个对号,那现在呢,我们相当于master的,Master的这个配置文件,我们专门呢抽取出来了,来点一个创建,然后呢,这个配置我们就创建好了,这是一个con map,那接下来我们再来创建我们这个应用负载的时候,们在这来创建服务,还是来创建我们这个有状态服务,把我们的之前马sgo再创一遍,而且创的时候呢,我们又要PVCMYS狗现在存储自己的数据,还要有一个持久化的地方,所以们现在呢,将MYS狗的这个配置和它的这个PVC,我们就先直接创建出来,我们再来创建我们的有状态服务,那么就叫MYSQL,我们的PVC,好,我们现在就叫鼓励ma。
04:07
鼓励们,My circle master的这个PVC啊,Master的这个PVC,好,我们点击下一步这个PVC,我们还是单节点读写,给它限制一个实际买搜Q最多实际数据,然后我们来点下一步点击创建,来创建之前我们可以看一下这一块的配置文件,如果是我们以前命令行,我们就应该是这么来写,所以用它来学习我们这个CU mes里边的这些配置文件也是很方便的。好,我们在这儿重新来选中以后,我们来点下一步点击创建我们这个PVC呢,也就创建好了。这PVC创建好,等待使用以后,我们接下来现在马SQ的主播的配置在这也有它的这个存储PVC我们在这也准备好了,接下来我们就来创建一个有状态服务点,一个创建my circle是一个有状态服务,我们就叫my circle master好,那们现在就叫master,我们就叫my master来点击下一步,然后我们来选择还是让它尽可能的分布在不同这个节点,虽然我们这个容器里边副本只有一个,那我们来选择镜像使用满SL5.7。
05:16
那找到这个镜像以后呢,我们让它使用我们马SQ的这个默认端口高级设置里边,把这个内存呢,我们来给它调大,要不然可能马SQ启动不起来,然后再下来,我们下边呢,这一块好,这一块TCP访问没问题,然后呢是我们的环境变量,环境变量呢,我们得添一个们现在马S默认启动的root用户密码,那们在这儿来添一个叫MySQL secret,我们之前配的一个密钥,密钥跟配置文件一点都不一样,好,那现在来检查元素,我就直接不去docker hib来复制它的这个环境变量的名了,我们把这粘贴过来,好,我来点一个对号,那MYS的这个容器这一块呢,基本就配好了,我来点击下一步,然后接下来在这一块呢,我们还是看到之前有一个存储券,还有一个我们这一块呢,叫配置文件的这个挂载好,我们先来指定一个配置文件,这个配置文件呢,我们可以选一个配置文件myl master conf,诶就是它,然后呢,我们让它挂。
06:16
哎,必须呢,读写的方式,那挂载到哪?因为我们现在MYSQL默认的这个配置文件们来看,其实都在这儿,我们以前刀ER启动的话,MYS口的默认配置都是它ETC下的MYSQ都是这一块的,所以我们让它挂载到ETC下的这个MYSQL,然后呢,选定我们使用特定的件和路径,这样呢,我们使用my config,然后挂载的路径我们也叫my config,什么意思,就是相当于在我们的ETC myq下将my config,我们相当于读取这个配置里边的这个所有值,然后呢,挂载到这个mycon文件下,相当于我们会在ETCMYS下边生成一个mycon值呢,就是我们之前配置的这里边的值,好,我们在这来选中以后,我再来点击对号,MYS的这个配置就挂载好了,将来它的存储我们也点击一个挂载这个存储呢,我们来选择my s master这个。
07:16
的PVC,然后我们来选择读写挂载,这个挂载呢,我们在这选中我们这个容器挂载的路径,这个路径呢,就是我们MYS狗数据放的这个路径,那就在这儿,所以是data,我们的哇,Lib MySQL,这MYSQL镜像里边容器所有数据都在这儿放着,所以我们现在呢,就挂载的是这个路径,好,我现在点一个对号,那马S的数据我们也挂载出来了,然后配置文件我们也挂载,其实跟我们的con菲map现在关联起来了,然后接下来我们来点击下一步,下一步以后呢,开启绘画保持,你也可以开,也可以不开,然后我点一个确定。那现在呢,MYSQ的这个有状态服务,我们就创建成功了,那创建成功以后,我们点进来看它呢,就给我们得在这儿创建MYSQL的这个容器,那这个容器只要创建成功,那这一块我们来刷新一下,我们来看它有没有创建成功,诶我们发现马SQ这个容器呢,就运行成功了,那这块运行成功以后,它其实在这边我们看到,因为我们是一个有状态服务。
08:20
Headless,所以我们默认呢,DNS会为我们准备一个集群内可访问的域名,相当于cooper ne,我们这个集群内大家伙都使用它的这个域名,都能进行访问,好,我使用这个域名,我试着访问一下,我怎么知道大家伙都能访问来到我们的其他任何一个服务容器里边,比如这是我们的马SQ,这是别的马S,好,我点进来,我点进它的这个容器,这是它的这个容器点进来,然后呢,我们直接进入它容器里边,我们点击终端,相当于我们现在进入到了我们这个容器里边,相当于我们doer ex e进入就进去了,然后我们接下来P一下,P一下我们之前的这个值,我复制出来了,我粘贴一下,只要能P通走,那这一块呢,它的这个ping命令他都没装,那我们可以去别的这个容器都看一看,我们来到我们之前这个工作附在里边,我们water price里边,我们来到water price的这个应用里边,我们来拼一下我们的这个MYS,好来到它的这个终端。
09:20
我们来看一下这个平命令,诶这个平命令能用,然后我们来聘一下我们的这个刚才部署的这个马s master是不能用走,诶我发现呢,它是P通的,所以只要是在我们的这个集群内部,我们只所有使用这个域名访问都没有任何问题,包括my s master节点,只要当掉重新拉起以后,还是按照这个域名路径进行访问,这是我们的有状态服务好,那我们这块呢,MYS的master就配置好了,而且我们来看,为了确认我们的这个配置文件是否挂载过来,我们来到master它的这个容器里边,我们最好看一看,我们点进来,我们点进来来到马S的master,然后呢。
10:01
我们现在容器来找这个容器组别,一直点到那儿,好容器组,然后来我们来访问它的这个终端,进来以后呢,这一块现在相当于是连到我们的MYSQL这个容器内部了,相当于刀壳的这个容器内部,然后呢,我们来看一下CD到ETC这个目录下边,然后LS它下边呢有一个my circle,我们来也不用找,因为我们都已经挂载了,我就直接访问my circle走好进来了LS发现呢,这有一个my con,我们来看它一个my con,点一个con,好发现这一块的配置,诶跟我们之前在我们的配置集里边放的这个东西其实一模一样,这就是挂载过来了。那么MYS的这个master我们就准备好了,还是根据我们之前的这个方法,那接下来我们再来创建一个MYS的slave,好来点击我们的这一块服务,那们现在还是来创建一个服务,是有状态服务,当然创建之前我们这个s silver也得有这个PVC和它的这个配置,我就先来创建一个这个PVC,鼓力ma my circle我们的这个silver silver的我们的这个PVC,好来写上来,点击下一步,然后呢,还是给上一个实际的容量,点击下一步,创建好slave的这个PVC我们就准备好了,然后slave的配置我们点过来也一样,我们点一个创建是我们满S我们的这个的配置,Silver的con,好,我们这个silver的配置,点击下一步添加一个键值,对,这样呢,就叫my con,随便叫什么都行,值,我们把之前silver我们的这一块配置文件的值我们拿过来,Slave,我们从这开始来复制CTRLC来到我们的。
11:44
到库里边粘贴过来,然后呢,再加上它的这个client,我们的这个server ID,我们把这一块的复制,我们也加过来CTRLC。我们来到酷里边,再一复制。点一个对号,好,那现在呢,Silver的这个配置我们也准备好了,那莱配置跟我们的这个存储券PVC都准备好以后们再来创建一个有状态服务,就是my circle silver,好,My circle silver,然后呢,我们这个别名就不起了,点击下一步还是让它可以分散存储,然后呢,我们还是来选中MYS5.7版本。
12:23
那这个找到了以后,我们点击使用默认端口,还是把这几个端口呢,我们拿过来,然后接下来我们在这儿再来添一个环境变量,这个环境变量来选上我们这个MYS默认的root用户密码,密码我们之前在测试的时候呢,给他密码是123456,好来给它粘过来,来点一个对号,MYS狗的这个silver的基本配置有了,那这一块的环境的这个高级设置这一块,我们一定得给它加上,加到我们这个2000,好,然后其他的东西都不变,我们环境变量在这也都不变,对号好,我们的这个TE准备好,我们再来点击下一步,然后我们来添加我们的这个存储卷,存储卷呢,那就用的是我们silver的PVC,我们选择读写方式挂载,挂载的是我们整个silver的这个数据文件夹,我们来找一下数据文件夹,就是瓦力宝马S扣,就这一块,我直接复制过来就行了,然后我们这一块PVC准备好以后,然后再来挂载它的配置文。
13:23
变这个配置文件我们还是来读写挂载,来挂载到ETC下的MYSQ,跟我们之前MYSQ容器内部这儿的映射一样,Etcc下的MYSL,那挂载哪个配置文件,那就是slave的这个配置,那使用特定的键值进行挂载,把它my conf挂载到MYSQL下的my con相当于马SQL启动默认呢,就会使用它来点一个对号,现在我们再来点击下一步,那么这一块呢,PVC也都准备好了,配置也都准备好了,点击下一步我们可以在这来创建出来,那至次我们MYS的silver那就准备好了,那点进来看一下它能不能给我们创建成功,来稍等刷新一下。
14:06
好,我们现在看到它是运行中,那这个level状态也都是没问题的,那现在我们想要做一个主从同步的事情,怎么做呢?像我们相当于这个master和silver都准备好了,那接下来就在master里边,以前怎么配主从,我们这一块呢,还是怎么配主从,我们以前都在docker下给大家模拟了,如果是master想要配储存master首先要给从一个这个授权账号,我们来到这个master的这个里边,Master先得给一个授权账号,从呢将会使用这个授权账号来连接我们的这个master,我们需要运行我们这个命令,那么现在就直接进入到master的这个容器里边,好,Master这一块呢,容器组。点进来,现在我们来进到它容器里边来连上我们的马MY,然后呢杠u root,杠P,密码呢,默认是123456走,那连上以后呢,接下来我们使用这句话,我们把这句话呢一粘贴回撤,那这句话呢,只要它运行成功,那master呢,相当于给了一个授权账户,然后我们可以来授一下master的statuss,以前怎么用在这一块呢,完全一模一样,我在这再来粘贴一下。
15:21
好,那么现在master的这个status都是准备好的,我们这个MYSB这个文件呢,是这个003,然后从我们的这个439开始,在这一块呢,开始来同步。那注意,我们现在的这个是003,我就把这一块复制过来,复制过来然后呢,我们下边silver要同步数据,相当于就要同步我们这这个叫003的,把这个复制过来,那位置呢,我们可以不用写好,那接下来我们这一块准备好了以后,那我们的master配置就结束了,Ext退出,而且只要我们这个master配置结束,因为我们现在是数据库,我们其实刚才配的那些东西已经持久化到我们的PVC里边,MPVC已经给我们保存到PV里边了,所以即使我们这个master当掉,下次再拉起一个,用他之前的数据相,他还记录着我们授权给这个莱的账号密码,然后来到slave里边,配置也一样,来到服务,我们的my SQL slave里边有状态服务,我们进入它的容器组,这个容器组里边,我们还是来点进它的这个终端,我使用MYS-u root-P123456来连进我们的silver,好,这个silver连进来以后呢。
16:34
接下来我们运行第一个命令叫change master to我们master host这块host呢,那就写我们master的我们的域名,我们现在master域名是my master的master点一个古励mail,这是我们为master分配的域名,它是能P通的,然后呢,Master的这个端口号,Master端口号呢是3306,因为我们之前一直暴露的是3306,在这儿得确认一下,好我们进这个master之前,来到服务,来到我们的master,这个master呢呢,他访问是马克master古丽ma,最好把这块复制过来,而且对外暴露的端口,大家看容器呢是3306,经过TCP,我们整个集群暴露的也是3306,好,那就没问题,然后呢,我们这一块把这个域名一定自个儿复制过来,然后呢,我们也使用的是3306啊,只粘贴文本,好没问题,那接下来我们再。
17:34
我们的从库里边就使用这句话跟主库呢开始来建立连接,好来到我们的从这个slave里边,我来把这个关掉,我们为了确认一切都正常,我们还是再进一遍lili里边来进它的容器组,这个容器组里边就是这个容器点进来,这就是我们的MYS,那进来MYS-u root,然后呢杠P123456,好,那现在呢,确定是在silver这个容器里边走,那进来以后呢,我们接下来粘贴我们这句话叫change master,我们的master是指向这儿的,然后呢,使用这个账号密码,然后呢同步这个数据,然后3306回车,然后我们这块呢,改掉以后,接下来我们可以让它来开始启动我们的这个存库,Start s slave来启动我们的这个主存复制啊,我们以前怎么写的,这一块还怎么写,Start s slave走来启动了以后,我们可以让他看一下我们的。
18:34
现在我们的内的状态,而且这个杠G,我们这个人性化显示也可以来看一下,在这儿好,我们来点一个粘贴回车,那么人性化显示呢,现在就是这个样子,来往上翻,现在waiting for master,现在相当于是等待master给我们来发送事件的,而这这两个呢,都是yes状态,那说明我们现在从库都已经同步准备好了,那准备好了以后呢,那接下来我们要做的事情就是那我尝试在主库来创建一个数据库,看我们这个存库能不能进行同步。
19:08
好,我现在呢,把这个关掉,我们来到这个主库里边,我们来到我们的这个服务,我们的这个master点进来,我们master呢,还是进它的这个容器里边好,我们直接点进它的这个容器,然后呢,我们连进来,我们自己手敲创建一个库,MY,杠u root,然后呢,杠P123456,因为我们现在这个里边库很干净,Show data basis。我们现在这里边的库呢,都是默认的,然后我们自己因为它会同步古力面我们的这些库,所以我们现在来导出一个库,我们让它同步一下来,来到我们的之前我们的电商的这个数据库连接来连接上我们的这个鼓励商城数据库,来随便把一个库我们来导出来,比如就这个OMS备份导出转出到circleq,然后呢,来导出一个景结构吧,我们这个只导出它的结构或者结构数据,我们直接把这个结构扣过来,我们点一个导出,好,那们现在来看一下我们的这个数据库的这个结构,我们数据库的创建,那就是这句话create database,好,那现在呢,创建我们的这个database,然后数据库的名就叫古励ma OMS,然后我们也可以给它在这来加上一个这个单引号来创建这个数据库,然后默认的字符集我们也给它设置好,我现在来运行我们这个方法剪切我们来创建一个数据库,看它能不能同步过来。
20:36
我们在主里边创建数据库,现在我们是master没问题,然后我们来运行这个,好,我们现在打一个封号,我来回车,然后呢,我们来show data basis回车,我们看到呢,古丽麦OMS是创建好的,我们来同步,同步确认一下,我们来到我们的这个服务里边,我们看到我们的Li,好,我们来到这个从库里边儿。
21:03
点进来。来my circle-u root,然后杠P123456,好,我们连接到存库,使用show data basis走,诶我们看到从库古力mail OMS同步过来了,这就是在我们库nes里边,那现在搭建了一个马SCO主存同步的集群,那其他所有的集群搭建方式都是一模一样的,但是我们现在呢,这个库波ne里边,我们现在整个内存容量不够,我的这个目标机,我们以前远程连接这个电脑,像内存呢,已经飙到90%多了,如果我其他的所有应用我全部都来搭集群的话,那这个东西我们后来项目就没办法部署上去了,所以我现在呢,满赛后我部署一个主从同步,然后其他的这个集群搭建方式都是一模一样的,你上来以后,我们现在呢,遵循这么一个原则,集群呢,就搭起来了,什么样的原则,第一个,然后呢,每一个每一个无论是马S,无论是你要搭的。
22:05
My circle还是我们的red,你要打几个,那就每一个my red等等,必须都创建,必须必须。都是一个咱们这个有状态服务,所以意思就是说,如果我们后来想要搭一个red集群,那接下来你就应该在这个有状态服务里边,你创建创建六个red,诶我们以前这个red class,你创建六个red,然后这是我们做的第一步,第二个每一个他们然后呢,都必须有自个儿的配置文件,每一个他们然后呢,可以挂在自己的配置文件,挂在自己的,咱们这个自己配置文件和PVCPVC就是来存储数据的,大家就来看我们以前把这个数据挂载到哪,然后呢,配置文件我们就创建一个自己的这个con飞map就行了,我们就叫。CM和con map,然后呢,接下来第三个,然后接下来就是最重要的就是我们在搭集群的时候,我们以前这个文档里边用的都是各种IP的方式,无论是我们的这个MYS还是LAN search,我们在这呢都是IP,什么现在所有的这个IP全部切换为我们这个集群的这个域名,因为每一个这个MYS和red都是一个,我们有状态服务都是一个service,人家都暴露了一个域名,所以我们现在呢,接下来以后的IP,以后的IP都用域名。
23:34
都用我们这个域名即可,咱们这个搭建出搭建出我们的集群,因为我们以前已经拿doer给大家搭建出来了,以前怎么搭,现在还是怎么搭,只不过呢将康菲哥map抽取过来,然后呢将我们的持久化抽取成这个PVC,所以相当于你以前以再要来搭集群,以前所有我们看到的docker run这个命令运行的时候,它的这个杠V挂载的这个数据都是拿PVC挂载,然后这个配置文件都是拿con map我们的配置集来进行关联,然后完了以后呢,那就没啥事了,剩下的东西,那我们以前用docker还自己建私有网络啥的,那现在也都不用了,每一个electric search创建好以后,它其实都有自己的这个网络,都有它的这个一个虚拟的访问的这个域名地址,所以我们直接可以使用这个域名地址就行了,当然如果你想要修改配置文件,怎么修改我们的现在的这个康菲map,你想要修改在这呢,都有一个可视化界面了。
24:35
也就是你想怎么修改在这呢,点一个修改配置,我们就可以怎么修改在这点一个修改,把你以前所有的内容想换就换,所以我们在这一块呢,我们以后的这个集群,我呢就不老老实实把每一个全搭出来,要不然我们其他的业务没法跑了,我就以一个满色狗的这个主从,主从里边我们还要连进每一个容器里边,还要做一些配置,我们就以这个为例,其他所有的东西都是一样的。
25:01
但是其实后来呢,真正我们去来搭储存搭一些东西的时候,我们现在还自己进容器里边在这来配配配。但是实际上呢,我们应该自己来专门来做一个镜像,比如我们从do HUB拉一个马SQ镜像,这个MYSQ镜像呢,你只要拉过来我们来看一下,那随便进来一个镜像们,就以这个5.7这个为例,我们就点进这个镜像,你拉进来镜像呢,一启动默认呢,镜像会加载它的这个docker。Entry point这个SH文件,这个SH文件里边,其实我们自己就应该去自定义一个镜像,把它这个文件里边修改好,把我们要运行的命令所有东西全部都在这儿,都已经写好,那这样我们镜像一启动,直接也就我们的这个,相当于就给我们的从就有一个授权用户了,从镜像已启动,自己也能start slave来是同步我们的这个主节点了,我们就不用进容器里边改了,但是进容器里边改也没啥问题。
26:02
我们整个集群呢,就是这么来做的,这是我们MYS的主从同步的一个集群演示,主要是有状态服务,有状态服务的集群之间,集群内,我们整个集群内想访问使用域名就可以了。
我来说两句