该系列默认开启
Nacos
服务,还不会搭建的小伙伴可以参考往期文章~,本节重点是给大家介绍利用docker来搭建Es集群,废话不多说直接开整吧~,同样的,在学习之前,先了解一下这玩意到底是个啥?,
es
这个名词或许大家都听过,它的全称是
Elasticsearch
,它是一个
分布式文档储存中间件
,它不会将信息储存为列数据行,而是储存已序列化为
JSON
文档的
复杂
数据结构。当你在一个集群中有多个节点时,储存的文档分布在整个集群里面,并且立刻可以从任意节点去访问。,当文档被储存时,它将建立
索引
并且近实时(1s)被搜索。 Elasticsearch 使用一种被称为
倒排索引
的数据结构,该结构支持快速全文搜索。在倒排索引里列出了所有文档中出现的每一个唯一单词并分别标识了每个单词在哪一个文档中。有时候面试官会问,
es
为什么这么快?这也是一个小的知识点。,通过上面简单的介绍,我们大体可以知道,它是用来做
数据检索
的,而且速度特别快。,不知道小伙伴们有没有遇到过这样一个问题,比方说我们在用sql查商品库表的时候,想要通过某个关键词来匹配相应的商品,当数据量很小的时候ok,但是随着商品数据的不断导入,后期的数据量越来越大,而且都是关联着好几张表,这时候我们用sql去查询我们想要的数据的时候,会显得特别吃力,这种是相当危险的操作,因为可能会把整张表锁死,导致我们的系统出现故障,如果其它系统也使用这个库,那么也会受到影响。所以这时候,我们就需要借助
es
这种中间件来帮我们处理这种需求,系统的性能也会有显著的提升,当然,维护上也会增加一些难度,当然也不是啥都上
es
的。其实我们也可以使用其它的比如
mongo
,如何选取,取决于系统架构和实际的业务场景。,为了大家快速的体验到es,这里推荐大家使用
docker
来搭建,因为它比较方便。但是生产中,如果你对
docker
不是很熟悉,维护会稍微有点麻烦,那么建议你还是到官网去下载具体的安装包,本节默认大家都已经安装好了
docker
。如果你还不知道
docker
是啥也没关系,这个后边我会专门给大家讲讲,本节跟着我敲就可以了。,
docker
的安装非常简单,官网都有具体的平台的安装包,
win
和
mac
都有,无脑安装就好了。
win11
安装可能会遇到
wsl
的问题,需要开启
linux
子系统,如果启动错误,直接百度错误就好了,已经有人踩过坑了。,下面,我们进入正题,首先启动好
docker
,本节带大家安装的是
7.6.2
的版本,这个版本相对好一些,控制台的功能也都很完善。,执行已下命令获取
官方镜像
, 打开
cmd/mac终端
:,
kibana
它是一个可视化的平台,我们查看数据就是通过它,
es
只是用作数据引擎,市面上也有一些第三方的工具,但是官方的这个已经非常完善了,界面也很美观。,紧接着,进入指定安装目录,比方说当前目录叫
es
,终端进入这个目录后执行一下命令:,这一步主要是创建相关的目录,因为后边
docker
的数据卷会映射到该目录,这样做的目的是防止容器意外销毁后的数据丢失。这里为什么是
三个节点
,因为
es集群
至少需要三个节点,这是跟它的内部机制有关,为了防止
脑裂
现象,这里就不给大家过多展开了,接下来进入
data/kibana
目录,新建
kibana.yml
,这个文件是它的配置文件,后边我们会把它映射到docker容器内部,
elasticsearch.hosts
指的是三个es节点,会和这些节点进行通信,进入
node1
,同样新建配置文件
elasticsearch.yml
,我们把
node1
作为主节点,也就是老大,
node.master: true
可以配置。为了使它支持
中文分词
,我们给它安装一下插件, 到仓库下载指定版本的插件
https://github.com/medcl/elasticsearch-analysis-ik/releases
,然后我们解压到
node1
根目录,然后重新命名为
ik
目录,然后再新建一个
Dockerfile
用来重构“`es““镜像,没错,后边我们就使用我们重构好的镜像,这样就自动安装好了插件,下面我们进入
node2
目录,这个目录只需要放配置文件就好了,这里我们指定为数据节点
node.data: true
用来做副本,同样的
node3
,然后我们回到根目录(es),新建一个
docker-compose.yaml
,我们使用
docker-compose
来编排我们的容器,默认安装好
docker desktop
就自动给我们安装好了
docker-compose
,这个文件有点长,不懂没关系,跟着配就完了。
${image}
是一个占位符,所以我们还需要指定环境变量,然后新建一个
.env
,
m/es
这个是我们重构后的镜像名称,下面我们就来重构镜像,进入
data/node1
执行,执行完成后,到根目录执行启动命令:,如果你想看实时日志,把
-d
去掉,这个是后台运行,初次启动,可能要花费一些时间。,启动成功后,我们可以访问一些
es1
的节点
localhost:9200
,可以查看节点的信息,如果显示正常,说明已经搭建成功了,下面我们直接进入
kibana控制台
,
http://localhost:5601/
,初次进入会让你设置控制台的密码,
,我们进入控制台,执行一下,有如下输出,至此我们就搭建成功了,
,如果你想卸载它们,执行
docker-compose down
就可以了,毕竟这几个家伙特别的吃资源。这里提醒一下大家,如果想尝试到服务器安装,建议新开一个机器,不要直接在生产环境里安装,因为挺吃硬件资源的,会容易出问题,以上就是docker搭建es集群实现过程详解的详细内容,更多关于docker搭建es集群的资料请关注其它相关文章!