确认项目springboot版本,避免版本不一致的大坑
以我的项目为例,我的cloud项目springboot版本是2.3.9.RELEASE
到maven仓库里查找此版本的springboot引用的是什么版本的elasticsearch
这里以elasticsearch:7.6.2为例安装
安装elasticsearch
1.pull自己相应的版本
docker pull elasticsearch:7.6.2
2.查看镜像是否pull成功
docker images
3.创建数据卷挂载目录
选择自己存放目录
mkdir -p /user/es/config
mkdir -p /user/es/data
mkdir -p /user/es/logs
mkdir -p /user/es/plugins
4.启动es
docker run --name=es -p 9200:9200 -p 9300: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 -d elasticsearch:7.6.2
–name 容器命名
-p 端口映射
-e 环境变量,单机
-v 数据卷挂载,映射配置文件,数据,日志,差价
-d 后台运行
5.查看运行状态
docker ps
6.报错
如果没有成功运行,查看报错日志
docker logs es
启动遇见的错误:
启动报错,没有挂载权限
sudo chmod 777 config
sudo chmod 777 logs
sudo chmod 777 data
sudo chmod 777 plugins
如果是报缺少配置文件,可能是第一次启动,宿主机挂载目录没有文件,简易启动一个es,把文件cp出来,重新启动es服务
docker run --name=elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d elasticsearch:7.6.2
docker cp elasticsearch:/usr/share/elasticsearch/config /user/es
docker cp elasticsearch:/usr/share/elasticsearch/data /user/es
docker cp elasticsearch:/usr/share/elasticsearch/logs /user/es
docker cp elasticsearch:/usr/share/elasticsearch/plugins /user/es
docker stop elasticsearch
docker rm elasticsearch
docker start es
8.x的es,默认会开启ssl校验,需要关闭
vi elasticsearch.yml
将几个enabled的值都改为false,从新启动es
7.安装完成
访问ip:port,出现如下页面,证明安装成功了
安装kibana
1.pull镜像
要与自己安装的es版本一致
docker pull kibana:7.6.2
2.常见数据卷挂载目录
mkdir -p /user/kibana/config
sudo chmod 777 config
3.随便启动一个kibana实例,把配置文件cp出来
docker run --name kibana --link es:es -p 5601:5601 -d kibana:7.6.2
docker cp kibana:/usr/share/kibana/config /user/kibana
4.删除临时kibana实例
docker stop kibana
docker rm kibana
5.启动kibana
docker run --name kibana --privileged=true --link es:es -p 5601:5601 -v /user/kibana/config:/usr/share/kibana/config -d kibana: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.解压
unzip elasticsearch-analysis-ik-6.8.23.zip
4.删除elasticsearch-analysis-ik-6.8.23.zip
rm -rf elasticsearch-analysis-ik-6.8.23.zip
5.重启es
如果下载的ik版本和es版本不一致,需要修改plugin-descriptor.properties中es的版本
最好是选用版本一致的,不一致的大版本一样也可能会出现使用是报错
下面是ik与es的版本对照