docker安装elasticsearch,保姆级教程

确认项目springboot版本,避免版本不一致的大坑
以我的项目为例,我的cloud项目springboot版本是2.3.9.RELEASE

到maven仓库里查找此版本的springboot引用的是什么版本的elasticsearch


这里以elasticsearch:7.6.2为例安装

安装elasticsearch

1.pull自己相应的版本

dockerpull elasticsearch:7.6.2

2.查看镜像是否pull成功

dockerimages

3.创建数据卷挂载目录

选择自己存放目录

mkdir-p/user/es/configmkdir-p/user/es/datamkdir-p/user/es/logsmkdir-p/user/es/plugins

4.启动es

dockerrun--name=es-p9200:9200-p9300:9300-e"discovery.type=single-node"-v/user/es/config:/usr/share/elasticsearch/config-v/user/es/data:/usr/share/elasticsearch/data-v/user/es/logs:/usr/share/elasticsearch/logs-v/user/es/plugins:/usr/share/elasticsearch/plugins-delasticsearch:7.6.2

–name 容器命名
-p 端口映射
-e 环境变量,单机
-v 数据卷挂载,映射配置文件,数据,日志,差价
-d 后台运行

5.查看运行状态

dockerps

6.报错

如果没有成功运行,查看报错日志

dockerlogs es

启动遇见的错误:
启动报错,没有挂载权限

sudochmod777configsudochmod777logssudochmod777datasudochmod777plugins

如果是报缺少配置文件,可能是第一次启动,宿主机挂载目录没有文件,简易启动一个es,把文件cp出来,重新启动es服务

dockerrun--name=elasticsearch-p9200:9200-p9300:9300-e"discovery.type=single-node"-delasticsearch:7.6.2dockercpelasticsearch:/usr/share/elasticsearch/config /user/esdockercpelasticsearch:/usr/share/elasticsearch/data /user/esdockercpelasticsearch:/usr/share/elasticsearch/logs /user/esdockercpelasticsearch:/usr/share/elasticsearch/plugins /user/esdockerstop elasticsearchdockerrmelasticsearchdockerstart es

8.x的es,默认会开启ssl校验,需要关闭
vi elasticsearch.yml
将几个enabled的值都改为false,从新启动es

7.安装完成

访问ip:port,出现如下页面,证明安装成功了

安装kibana

1.pull镜像

要与自己安装的es版本一致

dockerpull kibana:7.6.2

2.常见数据卷挂载目录

mkdir-p/user/kibana/configsudochmod777config

3.随便启动一个kibana实例,把配置文件cp出来

dockerrun--namekibana--linkes:es-p5601:5601-dkibana:7.6.2dockercpkibana:/usr/share/kibana/config /user/kibana

4.删除临时kibana实例

dockerstop kibanadockerrmkibana

5.启动kibana

dockerrun--namekibana--privileged=true--linkes:es-p5601:5601-v/user/kibana/config:/usr/share/kibana/config-dkibana:7.6.2

6.报错

如果报Kibana server is not ready yet
修改kibana.yml,es地址

7.访问kibana ip:port

8.将kibana界面变成中文

在kibana.yml中添加 i18n.locale: “zh-CN”
重启容器

安装中文分词器

1.来github上下载一个ik

国内网络访问github下载东西可能要想想办法

2.在es宿主机plugins文件夹下创建ik文件夹,将ik压缩包放进去

3.解压

unzipelasticsearch-analysis-ik-6.8.23.zip

4.删除elasticsearch-analysis-ik-6.8.23.zip

rm-rfelasticsearch-analysis-ik-6.8.23.zip

5.重启es

如果下载的ik版本和es版本不一致,需要修改plugin-descriptor.properties中es的版本

最好是选用版本一致的,不一致的大版本一样也可能会出现使用是报错
下面是ik与es的版本对照