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
1563190041871.png
因為直接使用elasticsearch的plugin命令安裝會報錯,所以通過下載后解壓到相應文件夾的方式安裝。
1563190261012.png
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" }