docker 安装ES和分词插件详细版教程

时间:2024-05-22 17:39:09

一、安装ElasticSearch


1、下载镜像
docker pull docker.elastic.co/elasticsearch/elasticsearch:6.3.2

用docker images查看已下载的镜像

docker 安装ES和分词插件详细版教程

(可选)对镜像命名:docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签),以新的名字复制一份。

2、运行容器


docker run -d --name es -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.3.2

因为我的是云服务器内存比较小,所以指定了JVM的堆内存大小。
 

3、修改配置
要想允许跨域访问,需要修改一些参数。

1)使用命令docker exec -it es /bin/bash(es是运行容器时指定的name,也可以用CONTAINER ID)进入容器内部。

2)在文件config/elasticsearch.yml后面添加以下内容

http.cors.enabled: true
http.cors.allow-origin: "*"
3)使用docker restart es命令重启ES。
 

浏览器打开http://ip:9200,可以看到如下内容。(注意开放9200端口防火墙

docker 安装ES和分词插件详细版教程

 

二、安装elasticsearch-head插件

 


1、下载镜像
docker pull mobz/elasticsearch-head:5

2、运行容器
docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5

3、设置外部访问
由于容器里面没有安装vi/vim,所以需要将配置文件拷贝出来修改之后再放回去。

1)使用docker cp es_admin:/usr/src/app/Gruntfile.js ./命令将es容器里的文件拷贝到当前目录。

2)修改文件,增加内容hostname: '0.0.0.0',如图

docker 安装ES和分词插件详细版教程

3)使用docker cp Gruntfile.js es_admin:/usr/src/app/命令将文件拷贝回去。
 

4、连接ES

浏览器访问http://ip:9100,然后连接指定的ES服务。

docker 安装ES和分词插件详细版教程

三、安装中文分词器插件


1、下载插件压缩包
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.2/elasticsearch-analysis-ik-6.3.2.zip

2、将压缩包拷贝到es容器内部
1)进入es容器内部,并创建插件目录。

2)使用exit命令退回宿主机,将压缩包拷贝到es容器刚才创建的目录下

docker cp /home/zhh/software/elasticsearch-analysis-ik-6.3.2.zip es:/usr/share/elasticsearch/plugins/ik

3)再次进入es容器内部,使用unzip命令将压缩包解压。

docker 安装ES和分词插件详细版教程

到此,中文分词器插件安装完成。