1. 程式人生 > >Elasticsearch基於docker叢集搭建以及安裝ik分詞器

Elasticsearch基於docker叢集搭建以及安裝ik分詞器

由於機器沒這麼多,所以用docker模擬真正的叢集搭建。

1、準備工作

1-1、準備docker環境:

  1. 使用yum安裝docker: yum install -y docker-io
  2. 安裝完成後,開啟docker: systemctl start docker;
  3. 檢視docker狀態: systemctl status docker;
  4. 搜尋elasticsearch的映象,如下第一個就是官方映象

 

1-2、準備三臺elasticsearch容器環境:

  1. 拉取映象,使用docker pull elasticsearch:6.5.0
  2. 啟動映象,開啟docker容器(elasticsearch)
  3. 通過ps -ef | grep elasticsearch 檢視elasticsearch是否啟動成功。
  4. 發現只有一個查詢的程序,而我們的docker容器中的es並沒有啟動成功,我們檢視日誌
  5. 發現是因為宿主機中的max_map_count低了,我們將它擴大到262144
  6. 重新啟動docker 容器 docker start es1 //註釋 es1為上面建立的docker容器的名字,然後在重複上面的測試步驟即可
  7. 在瀏覽器中測試下

  8. 第一臺已經準備完畢,那麼按照上面步驟將剩下的兩臺準備

備註:如果再程序中可以看到三臺都啟動成功的話,若是訪問不成功的話,可以檢視防火牆的狀態,或者稍微等待些時間即可。

2、搭建叢集

 

 

  1. 由於我們需要編輯配置檔案來完成es偽分散式叢集的配置,但該容器預設不自帶vi或vim命令,所以我們還得先進入到容器裡,將所有的例項都安裝上vim命令,方便以後修改,使用yum install -y vim安裝
  2. 進入容器 docker exec -it es1 bash,然後執行yum install -y vim 
  3. 進入/usr/share/elasticsearch目錄,修改config/elasticsearch.yml檔案,在檔案末尾追加下面內容
  4. 另外兩臺容器的更改檔案如下:
  5. 配置完成後,重啟三臺容器 docker restart 容器名
  6. 重啟完成後,執行下面命令檢視叢集狀態

如果需要其他配置,以下可以作為參考

 

2-2、安裝elasticsearch-head視覺化外掛:

  1. 同樣的我們使用docker映象安裝,首先我們先查詢一下
  2. 拉取映象 docker pull mobz/elasticsearch-head:5
  3. 使用映象安裝成為es-head容器 docker run -id --name es-head -p 9100:9100 mobz/elasticsearch-head:5
  4. 進入es-head容器,docker exec -it es-head bash
  5. 因為同樣需要編輯檔案,所以我們下載vim 使用yum install -y vim
  6. 若是安裝時報錯,說yum command not found ,使用apt-get update,然後使用apt-get install vim -y 進行安裝下載即可
  7. es-head使用的grunt-server作為伺服器的,所以他的啟動後監聽的host預設是localhost, 所以我們要修改其中的配置檔案,增加一些配置,這樣可以使得能夠被外部訪問的到,修改Gruntfile.js檔案
  8. 修改完畢後,重啟es-head容器,docker restart es-head

開啟瀏覽器測試

 

2-3、安裝中文IK分詞器外掛:

  1. 我這es的版本為6.5.0的,所以我下載的ik分詞器的版本也是6.5.0,如果版本不是這個的,可以自行從https://github.com/medcl/elasticsearch-analysis-ik/releases這個地址自己查詢,那麼我這裡使用的就是6.5.0的了
  2. 進入es容器 docker exec -it es1 bash
  3. 執行下載 wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.5.0/elasticsearch-analysis-ik-6.5.0.zip
  4. 下載完成後,進入plugins資料夾,建立檔案ik mkdir ik
  5. 將下載的elasticsearch-head外掛移動到ik資料夾,執行解壓,解壓完成後,將原始檔刪除
  6. 如果你下載的版本和es的版本不對的話,可以通過更改ik分詞器中的 plugin-descriptor.properties來使其OK
  7. 其餘兩個節點同樣操作,使其ik分詞器安裝成功
  8. 重啟三個es的容器,至此ik分詞器安裝成功