1. 程式人生 > 其它 >穀粒商城分散式高階(一)—— 環境搭建(高階篇補充)(ElasticSearch)

穀粒商城分散式高階(一)—— 環境搭建(高階篇補充)(ElasticSearch)

1、ElasticSearch 開發環境搭建

1、docker 安裝 ElasticSearch
 (1)先檢查一下虛擬機器的可用記憶體

 (2)下載映象檔案

    docker pull elasticsearch:7.4.2 儲存和檢索資料
    docker pull kibana:7.4.2 視覺化檢索資料,後面會安裝
    注意:版本要統一

  (3)建立掛載目錄  

    mkdir -p /mydata/elasticsearch/plugins
    mkdir -p /mydata/elasticsearch/config
    mkdir -p /mydata/elasticsearch/data

  (4)設定es可以被遠端任何機器訪問

    echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml

  (5)遞迴更改許可權,es需要訪問

    chmod -R 777 /mydata/elasticsearch

    注意:一定要授權,否則後面啟動的時候會訪問拒絕,沒許可權

 (6)建立例項,啟動 Elastic search

    docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" \-e ES_JAVA_OPTS="-Xms64m -Xmx128m" -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:7.4.2 

  注意:

    # 9200是使用者互動埠 9300是叢集心跳埠

    # -e指定是單階段執行

    # -e指定佔用的記憶體大小,生產時可以設定32G

  以後再外面裝好外掛重啟即可;

  特別注意:

    -e ES_JAVA_OPTS="-Xms64m -Xmx128m" \ 測試環境下,設定 ES 的初始記憶體和最大記憶體,否則導致過大啟動不了 ES

 (7)設定隨docker自啟動

    docker update elasticsearch --restart=always

 (8)測試訪問

    檢視elasticsearch版本資訊:http://192.168.56.10:9200/

  顯示elasticsearch 節點資訊http://192.168.11.129:9200/_cat/nodes

  127.0.0.1 69 99 9 1.07 0.78 0.56 dilm * 79966af1bf0e

  79966af1bf0e代表上面的節點,*代表是主節點

2、docker 安裝 kibana
 (1)建立例項並啟動
    docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.56.10:9200 -p 5601:5601 -d kibana:7.4.2
    注意:http://192.168.56.10:9200 一定改為自己虛擬機器的地址
 (2)設定隨docker自啟動
    docker update kibana --restart=always
 (3)測試
    訪問:http://192.168.56.10:5601/app/kibana
3、安裝 ik 分詞器
    注意:不能用預設 elasticsearch-plugin install xxx.zip 進行自動安裝 
  https://github.com/medcl/elasticsearch-analysis-ik/releases?after=v6.4.2 對應 es 版本安裝

 (1)進入es容器內部 plugins 目錄
    docker exec -it 容器 id /bin/bash

  注意:由於我們在安裝 es 的時候,已經將容器內部的 plugins 目錄對映到 /mydata/elasticsearch/plugins/,所以我們直接切換到對映目錄即可
 (2)下載 ik 分詞器
    wgethttps://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.2/elasticsearch-analysis-ik-7.4.2.zip

  注意:

  (1)這一步可以使用wget命令下載,也可以直接下載下來使用xshell命令上傳

  (2)關於wget和unzip命令找不到的問題,檢視穀粒商城分散式基礎(二)—— 環境搭建(虛擬機器 & JDK & Maven & docker & mysql & redis & vue)中 “1、安裝 Linux 虛擬機器” 的 第13點

  我們還可以進入es的容器中,可以看到對映對應的檔案目錄裡面也可以看到

  (3)解壓下載檔案

  最後,記得刪除掉原下載的壓縮包

  (4)設定許可權

  (5)確認是否安裝好了分詞器

 (6)重啟 es

4、修改 es 的最大記憶體
  我們之前設定的es的最大記憶體是128,啟動延時嚴重,修改一下
 (1)停止原先的 es 容器

  (2)移除這個 es 容器

  注意:由於我們之前已經將 es 的資料掛載到磁碟了,所以不用擔心丟失了,我們可以驗證一下

  (3)建立新的容器,指定新的記憶體為 512m

  docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" \-e ES_JAVA_OPTS="-Xms64m -Xmx512m" -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:7.4.2

2、