Docker安裝Elasticsearch、elasticsearch-head、ik

第一部分: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分詞起的安裝,以及使用就簡單介紹到這裏,後面的實際運用可以根據實際情況,來進行操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章