使用docker安裝ElasticSearch及中文分詞器elasticsearch-analysis-ik

一、ElasticSearch是什麼?

Elasticsearch也使用Java開發並使用Lucene作爲其核心來實現所有索引和搜索的功能,但是它的目的是通過簡單的RESTful API來隱藏Lucene的複雜性,從而讓全文搜索變得簡單。
不過,Elasticsearch不僅僅是Lucene和全文搜索,我們還能這樣去描述它:

  • 分佈式的實時文件存儲,每個字段都被索引並可被搜索
  • 分佈式的實時分析搜索引擎
  • 可以擴展到上百臺服務器,處理PB級結構化或非結構化數據

二、Docker 部署 ElasticSearch

2.1 拉取鏡像

docker pull elasticsearch:7.7.0

2.2 運行容器

在啓動前需要調整宿主機的虛擬內存大小,否則會報錯,報錯內容就是虛擬內存不足:

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

因此我們需要把虛擬內存設置爲262144大小,執行命令:

sysctl -w vm.max_map_count=262144

以上只是臨時設置虛擬內存大小,要想永久生效還需得在配置文件中設置,即在 /etc/sysctl.conf文件最後添加一行 vm.max_map_count=262144,即可永久生效。

ElasticSearch的默認端口是9200,我們把宿主環境9200端口映射到Docker容器中的9200端口,就可以訪問到Docker容器中的ElasticSearch服務了,同時我們把這個容器命名爲elasticsearch

docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "cluster.name=elasticsearch" -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -e "discovery.type=single-node" elasticsearch:7.7.0

2.3 安裝 Elasticsearch ik 中文分詞器

  • 查看你自己的ES版本,我當前用的是7.7.0版本下載,如果是其它版本可以到作者GitHub倉庫下載對應版本的分詞器

  • 在線安裝

    • 進入容器

      docker exec -it elasticsearch /bin/bash	
      
    • 在線下載並安裝

      elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.7.0/elasticsearch-analysis-ik-7.7.0.zip
      

      安裝成功後,進入plugins可以看到IK分詞器已經安裝成功,或者使用

      elasticsearch-plugin list
      
  • 離線安裝

    • 將下載好的IK分詞器上傳到宿主機/tmp目錄中

    • 將壓縮包移動到容器中

      docker cp /tmp/elasticsearch-analysis-ik-7.7.0.zip elasticsearch:/usr/share/elasticsearch/plugins
      
    • 進入容器

      docker exec -it elasticsearch /bin/bash
      
    • 創建目錄

      mkdir /usr/share/elasticsearch/plugins/ik
      
    • 將文件壓縮包移動到ik中

      mv /usr/share/elasticsearch/plugins/elasticsearch-analysis-ik-7.7.0.zip /usr/share/elasticsearch/plugins/ik
      
    • 進入目錄

      cd /usr/share/elasticsearch/plugins/ik
      
    • 解壓後可選擇是否刪除原壓縮包

      unzip elasticsearch-analysis-ik-7.7.0.zip
      rm -rf elasticsearch-analysis-ik-7.7.0.zip
      
    • 退出並重啓鏡像

      exit
      docker restart elasticsearch
      
以上就是使用docker安裝ES全過程,踩過的坑已經在教程中填上了,因此遵循此方法安裝的話,基本上就會一次成功。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章