07.1 ElasticSearch
一、简介
elasticsearch 原理;http://developer.51cto.com/art/201904/594615.htm
二、安装
在docker中安装elasticsearch
-
获取镜像
# 注意:因为haystack目前支持的elasticsearch版本为 1.x和2.x # 所以这里选择2.4.6 $ docker pull elasticsearch:2.4.6
-
安装中文分词插件
可以创建容器之后再安装插件,为了后面部署方便,我们创建镜像。elasticsearch的中文分词插件是
elasticsearch-ik
,国人开发,github地址。根据文档介绍,2.4.6版本对应的ik是1.10.16
因为直接使用elasticsearch的plugin命令安装会报错,所以通过下载后解压到相应文件夹的方式安装。
a.下载es-ik后,将其解压到名为ik的文件夹
~$ unzip elasticsearch-analysis-ik-1.10.6.zip -d ./ik
b.在ik所在文件下创建名为Dockerfile
的文件,内容如下
# dockerfile
FROM elasticsearch:2.4.6
MAINTAINER Fisher "xinlan@tanzhou.com"
ADD ./ik/ /usr/share/elasticsearch/plugins/ik/
然后运行命令
~$ sudo docker build -t xinlan/els-ik:2.4.6 .
如果出现下面的错误是因为没有带sudo
~$ docker build -t xinlan/els-ik:2.4.6 .
error checking context: 'no permission to read from '/home/wcf/.viminfo''.
运行成功后,会在你的docker中创建一个新的镜像
~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
xinlan/els-ik 2.4.6 ecf93deefe2b 26 minutes ago 489MB
elasticsearch 2.4.6 5e9d896dc62c 10 months ago 479MB
<span style="color:red">如果上面的步骤搞不定请直接下载如下镜像</span>
$ sudo docker image pull wcfdehao/els-ik:2.4.6
-
创建容器
利用上面创建好的镜像创建一个容器。为了能够进行设置elasticsearch,通过卷挂载的方式创建容器。
将提供给大家的es配置文件
elasticsearch.zip
拷贝到家目录下,然后解压# 在xshell中使用rz命令将elasticsearch.zip文件传到虚拟机的家目录中 #然后在家目录中解压 ~$ unzip elasticsearch.zip
然后运行下面的命令创建容器
# 根据上面创建的镜像创建容器,需要将/home/wcf/elasticsearch/config配置文件路径修改为你自己的路径 # 将 镜像名xinlan/els-ik:2.4.6改成你的镜像名 # docker run -dti --network=host --name es-ik -v /home/pyvip/elasticsearch/config:/usr/share/elasticsearch/config wcfdehao/els-ik:2.4.6 ~$ docker run -dti --network=host --name es-ik -v /home/wcf/elasticsearch/config:/usr/share/elasticsearch/config xinlan/els-ik:2.4.6 # 查看是否创建成功,如果没有结果,说明创建失败检查步骤和配置 ~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 61c42c36a8f2 xinlan/els-ik:2.4.6 "/docker-entrypoint.…" 29 minutes ago Up 28 minutes es-ik
最后运行curl命令检测es是否正常
~$ curl http://127.0.0.1:9200 { "name" : "Shard", "cluster_name" : "elasticsearch", "cluster_uuid" : "Pq6BQQhTQN6q6ML6ThPlbw", "version" : { "number" : "2.4.6", "build_hash" : "5376dca9f70f3abef96a77f4bb22720ace8240fd", "build_timestamp" : "2017-07-18T12:17:44Z", "build_snapshot" : false, "lucene_version" : "5.5.4" }, "tagline" : "You Know, for Search" }