00:00
接下来呢,我们就使用三个主节点,三个数据节点的方式来搭建一个ES集群,那集群搭建之前我们先来运行一下这个命令,防止我们在GVM启动我们这个ES的时候来进行报错,那么这个命令呢,来修改一下我们GVM线程数的这个限制,这个we count,那么这个呢,给它设置成262144,好,这个设置好了以后,接下来我们再来准备一个doer网络,因为现在呢来装ES集群,我们现在想来模拟这六台机器在不同的IP,如果我来启动六个虚拟机,代价呢有点大,所以呢,我们来创建一个doer网络,我们让docker来创建每一个容器的时候,来指定上一个IP,其实我们以前docker run每启动一个容器,这个容器呢都有它的一个IP,但这一块呢,是docker默认创建的,我们呢没办法自己指定,所以我们想要自己指定的话,我们可以自己先来创建一个docker的这个网络,我们先来看一下docker默认用的这个。
01:00
的网络,那docker的这个网络呢,我们可以使用这个命令叫我们的这个docker network ls来看一下docker现在默认的这些网络是哪些走现在doer呢,默认有这么几个网络,Bridge host以及now,那我们现在呢,创建一个自己的网络,那创建网络的命令呢,也非常简单,我们在这来使用docker network create,我们现在来创建一个docker网络,杠杠driver,我们呢是以调节的方式来驱动我们这个,也就是bridge,然后我们的整个子网,整个子网呢是17218120.0,那相当于我们以后使用这个网络创建的这个容器,他们呢都是这个1812,这个网断了,然后我们来指定一下网关,网关呢是181.1,好,我们这个网络的名字叫my net,我把这个网络CTRLC来创建出来。走好,我们这个网络呢,创建出来,我们来看一下docker ls,诶我们发现呢,这有一个my net,我们这个网络EB99 eb99没问题,我们的这个网络创建出来以后呢,如果想要查看网络详情,也可以使用docker network inspect来查看一个指定的网络,后边来写上网络的名字。
02:12
后边来写上好,那现在呢,这一块我们这个网络呢,就创建好了,我们整个子网这一块都没问题,然后我们这个网络来创建好了以后,接下来我们先来准备三个master节点,同样我使用这段脚本能快速的帮来创建三个master,我们这个创建呢是这样子的,我来do,我们先来创建出每一个EL search,我们在EL search文件夹下会创mask,然后呢123,然后呢每一个。这个master几它都有一个conf文件夹和data文件夹,Con呢存储配置,Data存储数据,然后呢我们来给文件夹来改变权限,这块东西都跟我们基础环境里边装ES步骤是一样的,然后呢,我们一到三相当来创建三个这个master节点,然后呢给每一个master里边elas search的压ma,这个置文件里边来主要写上下边的这一块内容,这块内容呢非常重要,这相当于是每一个ES的配置文件要写的东西我就放在这儿了。首先class name就是集群的名字,我们同一个集群名字呢一定要相同,那想当我们现在这六个节点集群名字都要一样没问题,然后接下来nod name,接下来就是我们节点的名字,那每一个节点名字呢,要唯一,要不一样,好,我们现在呢就是ES master,然后呢,我们这个循环是一到三,所以就会是MASTER1MASTER2MASTER3也没问题,那接下来那设置我们整个节点的这个形态,那现在呢。
03:42
No master true代表我们当前这个节点是一个主节点,但是呢,Node data force代我们这个当前节点不存取数据,现在它就是一个专业的主节点,然后呢,Network host来允许所有HP访问的,我写一个000,包括允许我们这个所有HTP访问的000,这一块呢都是在这我们来可以默认写一个000,然后接下来我们HT portt,我们原来ES的默认HTP端口是9200 ES与集群交互的端口是9300,我们可以在这来指定一下,我们让它920几呢,我们就跟这句这便利循环,那就会有三个节点,9201 9202 9203,然后我们的这个集群之间的TCP,我们这个交互端点那是9301 93029303,那这一块呢,我们就来设置好了,再来加上这块配置呢,我们可以来省略掉,现在我们是ES都进阶到七了,我们无需来写我们的这个解决脑链问题的这个集群。
04:42
资格节点数我们这个二,然后呢,我们现在来加上这个将discovery the PIN time out,相当于我们来要提升它的这个触发阈值,减少误判十秒,也就是我们这个十秒,如果我们发现这个节点这个连接超时超了十秒了,那说明这个节点宕机了,那才有必要再来进行选主的一些配置,然后接下来最重要的配置呢,在这叫discovery点一个CD hosts这一块呢,相当于它是来设置我们初始情况下,我们整个集群哪些节点是候选主节点,123,把这三个候选主节点的IP我们都写在这儿,而且呢,未来我在这儿呢是写死的,未来我来创建三个主节点的时候,第一个主节点我会给他指定IP叫二一,第二个呢叫二二,第三个叫二三,所以我在这写死,然后呢,接下来下面的这块配置就是我们整个集群初始化的时候,谁来作为主节点,那就是二一。
05:42
刚才我们的第一个节点,然后我们再把整个配置呢,在我们三个节点,每一个人我们都给它写进去,写进去完了以后,我们接下来docker RA来启动我们的ES,那整个启动ES就跟之前一模一样了,Docker RA,然后呢,给这个ES容器起个名字叫search no德几,那我们现在是一到六,那就NODE1NODE2,一直到NOE6,现在六个节点,然后呢,接下来它的端口号,端口呢呢就是920几,我们对外920几映射到里边的920几,对外的930几映射到里边的930几,那都是这一块,好没问题,然后接下来注意这一块,我们现在要使用自己的私有网络在这来进行创建,所以我来写杠杠network等于my net,现在来使用我们刚才创建的这个doer网络my net,然后呢,我们再来杠杠IP,现在给我们这个容器来指定一个IP,那们现在是172.18.12.2几呢,我们现在就是211直到二六而。
06:42
对呢,二一现在是一个默认主节点,好,我们在这儿来设置好了,来接下来再来杠一来限制一下GVM的这个内存占用,要不然一下一起来直接把我们整个剩余内存全占完就卡死了,那接下来杠V,杠V呢就是进行目录挂载,把每一个ES容器里边的自个儿的ES配置挂载到它当前节点的config这个配置文件夹下的,对应的这个配置文件数据呢,也挂载出来,都是对应的自己的节点,还有如果要装插件也挂载出来,那么这个插件呢也方便装啊。杠D以后台方式运行,那使用ES的镜像版本是742,好,那么现在呢,这一块我们如果把这个一运行,那么三个master就启动了,我就来准备一下,把这一块呢,我现在来选中CTRLC,好,那现在来准备三个master,我先来CD到我们的my data,那search里边,这个里边呢,默认是我的con data plug,我们以前装的。
07:42
我现在来运行我的这个脚本好走。好,我们发现呢,这三台容器启动,包括我来docker PS检查一下docker PS呢,我们看到这块920192029203对应的是search note1 note2 note3,好三个节点,我们现在准备就绪,LL看一下我们现在三个master节点,它的这个文件夹也都创建在这儿了,每一个配置呢都在里边有,那master节点我们来准备就绪以后,接下来我们再来准备三个noe节点,Noe节点跟master节点所有的创建都一样,唯一不同的地方在这node节点,它node data是true的,而master是false的,相当于它只是作为一个node节点,不是作为我们的master节点,所以呢,它不是能作为候选节点,没有机会成为master,我们把这呢设置一个force,剩下的呢都一样,这个de的name我们叫ES node几行,然后呢,我将所有的这个node节点,我就直接再来一复制CTRLC我复制过来,然后呢,接下来我们再来。
08:49
创建三个no的节点回车。好,现在呢,这三个node节点我们又准备好了,Docker PS来给大家看一下,现呢我们这个search node1到三,这三个master准备好了,接下来NODE4到六,这呢是三个data数据节点,我们现在呢也准备好了,他们的对外端口号分别是9301 9302 9303,一直到9306,然默认初始化呢是这个NODE1是作为我们的master节点,那NOE1的这个IP地址。
09:26
就是我们默认指定的,我们可以来给大家看一下我们这个docker PS,我们来看一下这个ipad DR。IDR呢,我们发现它这有非常多的这个网络地址,其中就有我们需要的这些do容器的这个网络地址,我们来看一下,这是我们默认的这个网卡,然后呢,剩下就是我们来创建了一些节点。他在这儿来创建的一些网络信息,但是呢,他在这儿没有打印这个IP,没打印IP也没关系,因为我们都来指定死的好,我们现在这几个节点,我们准备出来了以后,能看到这几个节点呢,现在都是启动成功,没有任何报错,然后呢,随便来看一下某一个节点的日志,Docker logs,来看一下elasster search node,我们的一它的这个日志,这块日志呢,只要没有任何报错,我们能看到这个cluster name集群的这些名字,什么它这一块呢,只要准备好,那我们就没得问题,我们再来看一下NOE2 noe2节点呢,每一个cluster,每一个集群里边的这个节点都有一个唯一ID,这个note ID好,那就没问题,我们在这个NOTE2节点也没问题,而且呢,它在这儿,如果有我们整个选举的话,你还能看到整个选举的这个日志过程,那这块没打印,那现在就不看了来,现在我们的NOTE3检查呢,都要没问题,我们的NOTE4 note4呢也是没问题的。
10:50
那么这个NOTE4现在正在启动,这个NOTE4叫no拉跟note,它还得有一段时间才能启动完成,来看一下NOTE5 note5呢现在也是这个状态,NOTE6好,现在呢,我们这个集群里边都准备好了,我们现在重新来看一下NOTE4。
11:09
来弄VA4呢,现在打印了这个新的信息,他说解析我们这个角色,从这个角色的这个配置里边,我们现在没有什么那何角色信息,那我们就看这一块的打印又过来了,我们search这一块version版本,好我们接下来看它整个选转的过程,那下面这一块我们看到呢,这是一些安全配置,然后呢c host,它已经发现了我们现在主节点的这些东西,使用我们这个Z,然后呢,我们再来看它现在整个发现过程,好在这。然后下边的这一块发现过程,它这个日志呢也打印的很清楚了,然后我们到底是使用哪些节点在这儿来进行发现的,然后呢,Term现在是第一轮,第一轮呢我们就来发现了哪一个主节点,这个主节点source node相当是我们的ES master1,那我们现在整个这一块只要发现成功,我们的集群就准备好了,那接下来我们就可以来检查我们整个集群的工作状况。
12:06
这是我们以前自己装的9200,我们现在整个集群是从九二零一开始来排队的,保证9201访问没问题,好,我们来9201没问题,然后呢,9202包括我们的9203每一个呢都没问题,而且它这一块每一个必须有自己的这个集群UID集群的唯一标识,好我们来过来0405以及零六,好,我们这个集群呢都没问题,然后呢,我们给任意一个节点来发送一个这个请求,我们想要查看集群的健康状况,我们就可以使用下边这些命令,比如杠K,杠can呢,我们可以杠can一个no,我们来查询一下所的节点,好,杠countt,我来查一下所有的节点信息,现在呢,我们发现它列出了诶1234566个节点,其中标星号的就是我们当前的主节点,没问题,那么整个集群的健康状况我们也可以来看一下healthy。
13:06
这个healthy呢,看的是自个儿的这个状况,这叫MYSGR,好,现在呢,我们可以直接来看一下集群的状况,我们可以来使用这个叫cluster,这个cluster的这个stas,我们也能看集群的这些状态信息,每一个节点的信息在这儿呢,全部都打印的非常清楚,然后呢,我们也可以来看classluster healthy来看一下它专门的这个健康信息,这个健康信息呢打印是这样,Number of notes是六个,然后呢,Number of data notes是三个,那数据节点呢有三个,然后呢,我们整个节点呢有六个,然后整个集群呢是健康的,是一个古润,即使我们来停掉了某一个节点,比如我们现在的这个主节点是这个人。来看一下我们现在的这个主节点,K们来看它一个noes走,我们现在主节点呢,是ES master1,如果我们来把它停掉了,Docker stop search node1,这个呢,就是我们的master节点走。
14:10
我们把这个master节点一旦停掉以后,我们来看一下谁能变为主节点,我来刷新,我们发现瞬间我们这个MASTER2就变成主节点了,同时如果我们再把MASTER1再来重新启动起来,那么这个主节点会不会变呢?那肯定不会,我们已经是MASTER2了,你再来新节点,我就认为你这是一个新天节点,所以我来刷新,那MASTER2呢,还会是一个主节点,那得稍等一下,我们这个MASTER1启动以后才能整个加入集群,我们得稍等它完全启动的这个过程。那稍等一段时间以后,我再来刷新一下,好,我们现在呢,看到MASTER1现在已经加入集群了,但是我们现在的主节点呢,还是MASTER2,所以现在我们的整个这个ES集群,我们就准备好了家我们的整个集群,那我们就可以非常完美的来进行一些工作了,Master即使当掉了,我们可以重新来选举,而且我们这个data的数据节点,我们这个副本呢,数也会存到很多,我们会有非常多的数据节点,这是我们说的ES集群。
我来说两句