docker入門:單機elasticsearch安裝記錄,保證無坑

這是我參與 8 月更文挑戰的第 10 天,活動詳情查看: 8月更文挑戰node

用過傳統方式安裝elasticsearch的小夥伴都知道,有很是多的坑須要填。常常拋出莫名的異常,因此本篇樓主將本身安裝單機elasticsearch過程記錄下來,幫助小夥伴閉坑。git

 注意:kibana,es,es插件版本要相同github

1.拉取鏡像

docker pull elasticsearch:7.10.1
複製代碼

2.新建文件夾

同上文所述相同,須要在宿主機上掛載配置文件與數據文件。web

mkdir -p /usr/local/elasticsearch/config
mkdir -p /usr/local/elasticsearch/data
複製代碼

3.修改配置文件

在中間價的安裝中不少個性化設置須要自行修改。這裏進入上文新建好的文件夾中。新增elasticsearch.yml文件。spring

cd /usr/local/elasticsearch/config/
vi elasticsearch.yml
複製代碼

elasticsearch.yml配置以下docker

network.host: 0.0.0.0   
network.bind_host: 0.0.0.0  #外網可訪問

http.cors.enabled: true
http.cors.allow-origin: "*"
xpack.security.enabled: true # 這條配置表示開啓xpack認證機制 spring boot鏈接使用
xpack.security.transport.ssl.enabled: true
複製代碼

xpack.security配置後,elasticsearch須要帳號密碼使用,建議安排上。若是使用springboot查詢,那必定要設置,否者會報錯!springboot

4.啓動

docker run -p 9200:9200 --name elasticsearch \
-e  "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms1g -Xmx2g" \
-v /usr/local/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /usr/local/elasticsearch/data:/usr/share/elasticsearch/data \
-v /usr/local/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.10.1
複製代碼

參數解釋:bash

  • -p 9200:9200 :指定端口號
  • --name elasticsearch \ :指定容器名稱
  • -e "discovery.type=single-node" \ :單機模式
  • -e ES_JAVA_OPTS="-Xms1g -Xmx2g" \ :指定內存
  • -v /usr/local/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ :指定config在宿主機位置
  • -v /usr/local/elasticsearch/data:/usr/share/elasticsearch/data \ :指定數據在宿主機位置
  • -v /usr/local/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ :指定插件在宿主機位置
  • -d elasticsearch:7.10.1 :指定鏡像

5.初始化密碼

此項僅在上文xpack配置的狀況下才須要執行,首先進入容器命令行,而後直行初始化命令:markdown

執行cors

docker exec -it 容器id /bin/bash
bin/elasticsearch-setup-passwords interactive
複製代碼

而後依次輸入密碼(須要輸入不少不少次,別掙扎了,輸入吧!)

image.png

6.驗證

訪問ip:9200,若是上文開啓了xpack.security,須要輸入帳號密碼。
帳號/密碼:elastic/上文設置的密碼

若是出現如下頁面,則表明成功。 image.png

7.安裝插件

1.安裝

下載地址:github.com/medcl/elast… 主要須要選擇與es相同版本

放於上文配置plugins路徑,而後新建ik文件夾,將解壓後的文件所有放於ik文件夾中。

image.png

重啓docker容器

docker restart 556b198b7616
複製代碼

2.驗證

重啓後,請經過查詢驗證分詞器是否生效。

GET _analyze?pretty
  {
    "analyzer": "ik_max_word",
    "text": "我吃西紅柿"
  }
複製代碼

若是出現如下結果,則證實安裝生效。

image.png

相關文章
相關標籤/搜索