基于docker容器安装Elasticsearch的IK分词器插件
本文主要介绍如何离线安装ES的ik分词器,网上说很容易,但实际上要注意的细节很多,我先列出来
注意:1.ES的版本跟ik分词器的版本要一致,否则即使安装成功,ES重启之后会闪退,docker查看日志也会报错。
2.将也说解压到/usr/share/elasticsearch/plugins/后,IK分词器压缩包没有删除,ES重启之后也会闪退
3.ik分词器压缩包里面的内容不是第一层目录,解压之后,并且查看日志报错内容是:Caused by: org.elasticsearch.bootstrap.BootstrapException: java.nio.file.NoSuchFileException: /usr/s,ES重启之后也会闪退。
解释一下所谓第一层目录,我发现我下载的版本解压之后,压缩包内容实在elasticsearch目录下,但是我发现高版本的不会
所以这也是要注意的。
同时在线的的话GitHub,网址:https://github.com/medcl/elasticsearch-analysis-ik/releases,下载不稳定,或者可以试一试,因为在线安装确定比较方便,具体可以看这个博客:https://blog.****.net/weixin_34015566/article/details/93554240,一般是安装不成功的,并且本地下载也有可能下载不成功,因为我本次安装是5.6.12版本,需要的可以下载,资源链接是:
https://download.****.net/download/qi_ming88/12007232
下面开始介绍如何安装
1.将elasticsearch-analysis-ik-5.6.12上传到linux服务器,建议使用上传工具比较xftp,不过文件上传可能也会遇到一点问题,发现查用ftp是连接不成功的,需要切换到sftp并且使用22端口,具体可以查看这个博客https://blog.****.net/j15533415886/article/details/84061857,xftp将文件上传到linux的tmp目录下,
2.linux执行压缩包解压安装
将压缩包移动到容器中
docker cp /tmp/elasticsearch-analysis-ik-5.6.12.zip elasticsearch:/usr/share/elasticsearch/plugins
进入容器
docker exec -it elasticsearch /bin/bash
创建目录
mkdir /usr/share/elasticsearch/plugins/ik
将文件压缩包移动到ik中
mv /usr/share/elasticsearch/plugins/elasticsearch-analysis-ik-5.6.12.zip /usr/share/elasticsearch/plugins/ik
进入目录
cd /usr/share/elasticsearch/plugins/ik
解压
unzip elasticsearch-analysis-ik-5.6.12.zip
删除压缩包
rm -rf elasticsearch-analysis-ik-5.6.12.zip
可以通过ls命令查看是否删除成功,不存在压缩包,说明删除成功
退出镜像重启ES
exit
docker restart elasticsearch
重启kibana,这一步也是需要操作
docker restart kibana容器id
3.进行验证,docker ps发现es和kibana都正常运行,在kibana继续验证
GET _cat/plugin 命令查看
测试