Docker 配置 Elasticsearch 和 Kibana 和 IK分词器

注意!本教程ES版本是7.17.28,对应SpringBoot版本是2.7.2

安装ES

创建网络

bash
复制代码
docker network create es-net

拉取镜像

bash
复制代码
docker pull elasticsearch:7.17.28

挂载目录

bash
复制代码
mkdir -p /usr/local/es/data /usr/local/es/config /usr/local/es/plugins
bash
复制代码
chmod 777 /usr/local/es/data chmod 777 /usr/local/es/config chmod 777 /usr/local/es/plugins

创建容器

bash
复制代码
docker run -d \ --restart=always \ --name es \ --network es-net \ -p 9200:9200 \ -p 9300:9300 \ --privileged \ -v /usr/local/es/data:/usr/share/elasticsearch/data \ -v /usr/local/es/plugins:/usr/share/elasticsearch/plugins \ -e "discovery.type=single-node" \ -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ elasticsearch:7.17.28

进入容器

bash
复制代码
docker exec -it es /bin/bash
bash
复制代码
cd config

关闭密码

bash
复制代码
echo 'xpack.security.enabled: false' >> elasticsearch.yml

重启一下es

bash
复制代码
docker restart es

浏览器测试一下es

BASH
复制代码
http://192.168.27.129:9200

安装Kibana

拉取镜像

bash
复制代码
docker pull kibana:7.17.28

挂载目录

bash
复制代码
mkdir -p /usr/local/kibana/config /usr/local/kibana/data
BASH
复制代码
chmod 777 /usr/local/kibana/data chmod 777 /usr/local/kibana/config

创建容器

BASH
复制代码
docker run -d \ --restart=always \ --name kibana \ --network es-net \ -p 5601:5601 \ -e ELASTICSEARCH_HOSTS=http://es:9200 \ kibana:7.17.28

浏览器测试kibana

bash
复制代码
http://192.168.27.129:5601

安装IK分词器

进入es容器

BASH
复制代码
docker exec -it es /bin/bash

下载安装

bash
复制代码
./bin/elasticsearch-plugin install https://release.infinilabs.com/analysis-ik/stable/elasticsearch-analysis-ik-7.17.28.zip

es和kibana和IK分词器的版本号要一样

最后重启es就好

text
复制代码
docker restart es

坑点

ES 8.xx版本不兼容SpringBoot2.7.2

卸载8版本的时候,要把挂载出来的Config,data目录给删了,否则再次安装es的时候,会一直不断重启。这时候通过docker logs -f es可以查看日志。发现是8.x版本的IK分词器没有删除干净导致的。

参考自

https://blog.csdn.net/Acloasia/article/details/130683934 https://www.cnblogs.com/little-cheap/p/15317861.html

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
Karry
下载 APP