使用docker安装优势
使用docker安装不会污染虚拟机环境,并且在多个虚拟机之间移植不会受到环境影响。本篇一共两种方式安装配置。推荐第二种使用
Dockerfile文件。
准备前提
docker先安装好
方法一:使用镜像
安装es镜像
可以参考docker的镜像官网: https://hub.docker.com/_/elasticsearch
1.输入命令
[root@localhost download]# docker pull elasticsearch:6.5.0
2.创建用户定义的网络(用于连接到连接到同一网络的其他服务)
[root@localhost download]# docker network create somenetwork
3.运行镜像 Run Elasticsearch
[root@localhost download]# docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:6.5.0
4.查看容器 docker ps
安装中文分词器及配置跨域
参考github的官方介绍 https://github.com/medcl/elasticsearch-analysis-ik
1.进入Elasticsearch容器中
docker exec -it [容器ID] /bin/bash
2.安装分词器
中文分词器Git仓库:https://github.com/medcl/elasticsearch-analysis-ik
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.5.0/elasticsearch-analysis-ik-6.5.0.zip
3.配置跨域拒绝访问
- docker exec -it [容器ID] /bin/bash
- cd ./config
- vim elasticsearch.yml
在elasticsearch.yml中添加
###可以被外部访问
network.host: 0.0.0.0
###允许跨域
http.cors.enabled: true
http.cors.allow-origin: "*"
添加完之后重启 elasticsearch 服务。
- exit
- docker restart 58
在浏览器输入地址:http://192.168.131.128:9200/
服务已经启动完成。
方法二:使用Dockerfile
编写 es 是 5.5 版本的Dockerfie 文件
FROM elasticsearch:5.5.0
RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
RUN apt-get update && apt-get install zip
RUN mkdir -p /usr/share/elasticsearch/plugins/ik
RUN cd /usr/share/elasticsearch/plugins/ik && wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.5.0/elasticsearch-analysis-ik-5.5.0.zip && unzip elasticsearch-analysis-ik-5.5.0.zip
编写好Dockerfile之后,再运行docker build即可
在同目录下面输入,build命令
docker build -t es:5.5.0 .
- es:是自定义的名称
- 5.5.0是版本号
- .是指当前目录
之后启动容器
docker run -d --name my-es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.io/elasticsearch:5.5.0
接下来进入容器配置elasticsearch.yml 就和上面一致了。
查看分词器: