第一部分:Docker安裝Elasticsearch
1. 拉取elasticsearch鏡像
# 搜索鏡像
[root@long ~]# docker search elasticsearch
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
elasticsearch Elasticsearch is a powerful open source sear… 3827 [OK]
nshou/elasticsearch-kibana Elasticsearch-7.1.1 Kibana-7.1.1 105 [OK]
itzg/elasticsearch Provides an easily configurable Elasticsearc… 68 [OK]
mobz/elasticsearch-head elasticsearch-head front-end and standalone … 48
elastichq/elasticsearch-hq Official Docker image for ElasticHQ: Elastic… 36 [OK]
elastic/elasticsearch The Elasticsearch Docker image maintained by… 22
lmenezes/elasticsearch-kopf elasticsearch kopf 18 [OK]
taskrabbit/elasticsearch-dump Import and export tools for elasticsearch 18 [OK]
bitnami/elasticsearch Bitnami Docker Image for Elasticsearch 18 [OK]
barnybug/elasticsearch Latest Elasticsearch 1.7.2 and previous rele… 17 [OK]
esystemstech/elasticsearch Debian based Elasticsearch packing for Lifer… 15
monsantoco/elasticsearch ElasticSearch Docker image 11 [OK]
mesoscloud/elasticsearch [UNMAINTAINED] Elasticsearch 9 [OK]
justwatch/elasticsearch_exporter Elasticsearch stats exporter for Prometheus 9
blacktop/elasticsearch Alpine Linux based Elasticsearch Docker Image 8 [OK]
centerforopenscience/elasticsearch Elasticsearch 4 [OK]
barchart/elasticsearch-aws Elasticsearch AWS node 3
dtagdevsec/elasticsearch elasticsearch 3 [OK]
bitnami/elasticsearch-exporter Bitnami Elasticsearch Exporter Docker Image 2 [OK]
phenompeople/elasticsearch Elasticsearch is a powerful open source sear… 1 [OK]
jetstack/elasticsearch-pet An elasticsearch image for kubernetes PetSets 1 [OK]
18fgsa/elasticsearch-ha Built from https://github.com/18F/kubernetes… 0
wreulicke/elasticsearch elasticsearch 0 [OK]
18fgsa/elasticsearch Built from https://github.com/docker-library… 0
axway/elasticsearch-docker-beat "Beat" extension to read logs of containers … 0 [OK]
# 拉取鏡像
[root@long ~]# docker pull elasticsearch:6.4.3
6.4.3: Pulling from library/elasticsearch
Digest: sha256:ba2d82b70025e503ded44135e2fbb79b0aefa9db17be2750d75565c28d21ea38
Status: Image is up to date for elasticsearch:6.4.3
2. 啓動容器
[root@long ~]# docker run -it -e "discovery.type=single-node" --name="elasticsearch" -p 9200:9200 -p 9300:9300 -d elasticsearch:6.4.3
975c54b98e2ae59667f6eb9c880c2e38d2e1ef3b9d5c81d26fa321548e9d29c6
[root@long ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
975c54b98e2a elasticsearch:6.4.3 "/usr/local/bin/dock…" 6 seconds ago Up 5 seconds 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp elasticsearch
3. 進入容器
[root@long ~]# docker exec -it elasticsearch /bin/bash
[root@975c54b98e2a elasticsearch]# ls
LICENSE.txt NOTICE.txt README.textile bin config data lib logs modules plugins
[root@975c54b98e2a elasticsearch]# cd config/
[root@975c54b98e2a config]# ls
elasticsearch.keystore elasticsearch.yml ingest-geoip jvm.options log4j2.properties role_mapping.yml roles.yml users users_roles
[root@975c54b98e2a config]# vi elasticsearch.yml
[root@975c54b98e2a config]# cat elasticsearch.yml
cluster.name: "docker-cluster"
network.host: 0.0.0.0
# minimum_master_nodes need to be explicitly set when bound on a public IP
# set to 1 to allow single node clusters
# Details: https://github.com/elastic/elasticsearch/pull/17288
discovery.zen.minimum_master_nodes: 1
# 添加兩行
http.cors.enabled: true
http.cors.allow-origin: "*"
[root@975c54b98e2a config]#
4. 測試:
訪問: IP:9200
出現這樣子,說明elasticsearch服務啓動成功。
第二部分:安裝elasticsearch-head
1. 拉取鏡像
docker pull mobz/elasticsearch-head:5
2. 啓動容器
[root@long ~]# docker run -it --name="elasticsearch-head" -p 9100:9100 -d mobz/elasticsearch-head:5
2ab891547a0baa47853290ef808e75229c20dbc298e4b8c48e4b05ed8b056713
[root@long ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2ab891547a0b mobz/elasticsearch-head:5 "/bin/sh -c 'grunt s…" 3 seconds ago Up 2 seconds 0.0.0.0:9100->9100/tcp elasticsearch-head
64b9b6b2ebbe elasticsearch:6.4.3 "/usr/local/bin/dock…" 5 minutes ago Up 2 minutes 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp elasticsearch
[root@long ~]#
3. 測試
訪問 IP:9100 查看是否成功!
第三部分:安裝IK分詞器
1. 進入elasticsearch容器中
elasticsearch分詞器,對中文分詞並不是太友好。這裏我們可以下載開源的IK分詞器,來解決這一問題。
# 進入 plugins
[root@64b9b6b2ebbe plugins]# cd plugins
# 下載
[root@64b9b6b2ebbe plugins]# wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.3/elasticsearch-analysis-ik-6.4.3.zip
# 解壓
[root@64b9b6b2ebbe plugins]# unzip elasticsearch-analysis-ik-6.4.3.zip -d ik
Archive: elasticsearch-analysis-ik-6.4.3.zip
inflating: ik/elasticsearch-analysis-ik-6.4.3.jar
inflating: ik/httpclient-4.5.2.jar
inflating: ik/httpcore-4.4.4.jar
inflating: ik/commons-logging-1.2.jar
inflating: ik/commons-codec-1.9.jar
creating: ik/config/
inflating: ik/config/quantifier.dic
inflating: ik/config/preposition.dic
inflating: ik/config/extra_single_word_low_freq.dic
inflating: ik/config/stopword.dic
inflating: ik/config/suffix.dic
inflating: ik/config/extra_main.dic
inflating: ik/config/IKAnalyzer.cfg.xml
inflating: ik/config/main.dic
inflating: ik/config/extra_stopword.dic
inflating: ik/config/extra_single_word_full.dic
inflating: ik/config/surname.dic
inflating: ik/config/extra_single_word.dic
inflating: ik/plugin-descriptor.properties
inflating: ik/plugin-security.policy
[root@64b9b6b2ebbe plugins]# ls
elasticsearch-analysis-ik-6.4.3.zip ik ingest-geoip ingest-user-agent
[root@64b9b6b2ebbe plugins]# rm -rf elasticsearch-analysis-ik-6.4.3.zip # 刪除zip文件
[root@2a43bd8ed751 elasticsearch]# elasticsearch-plugin list # 顯示安裝的插件
ik
ingest-geoip
ingest-user-agent
如果出現ik說明已經安裝成功了!
4. 重啓容器
[root@long ~]# docker stop elasticsearch
elasticsearch
[root@long ~]# docker start elasticsearch
elasticsearch
[root@long ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2ab891547a0b mobz/elasticsearch-head:5 "/bin/sh -c 'grunt s…" 25 minutes ago Up 25 minutes 0.0.0.0:9100->9100/tcp elasticsearch-head
64b9b6b2ebbe elasticsearch:6.4.3 "/usr/local/bin/dock…" 31 minutes ago Up 2 seconds 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp elasticsearch
[root@long ~]#
這裏,Elasticsearch、Elasticsearch-head、IK分詞起的安裝,以及使用就簡單介紹到這裏,後面的實際運用可以根據實際情況,來進行操作。