穀粒商城分散式高階(一)—— 環境搭建(高階篇補充)(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、