從零到壹搭建一個商城架構--在Docker中安裝Elasticsearch

1、下載鏡像地址

docker pull elasticsearch:7.4.2 存儲和檢索數據
docker pull kibana:7.4.2 可視化檢索數據

2、創建實例

2.1、ElasticSearch

mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml

接下來就安裝ElasticSearch的docker鏡像

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

執行完以上命令可能會出現幾個問題

  • yml語法寫錯了

查看日誌

docker logs elasticsearch
Caused by: ParsingException[Failed to parse object: expecting token of type [START_OBJECT] but found [VALUE_STRING]]

以上錯誤信息是我們的elasticsearch.yml文件中的鍵值對寫的有問題

#錯誤語法
echo "http.host:0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml
#正確語法,鍵值對中間需要有一個空格,這是yml格式的規範
echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml

看上面這兩條語句,我們的yml語法規則是鍵值中間必須有空格,所以我們使用第二條

  • 沒有權限
"Caused by: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes"

以上錯誤信息,是我們所配置的文件夾的訪問權限不足

在/mydata/elasticsearch目錄下我們執行

在這裏插入圖片描述

當前我們只有執行和閱讀權限,沒有寫的權限,我們執行如下命令

chmod -R 777 /mydata/elasticsearch

解決完以上問題,我們接着啓動elasticsearch

docker start [elasticsearch容器ID]

訪問瀏覽器192.168.56.10:9200

出現如下效果,說明啓動已經完成
在這裏插入圖片描述

2.2、kibana

docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.56.10:9200 -p 5601:5601 \
-d kibana:7.4.2

注意:ELASTICSEARCH_HOSTS=http://192.168.56.10:9200 一定要改爲自己虛擬機中ElasticSearch的地址加端口

瀏覽器訪問http://192.168.56.10:5601,出現如下效果,說明已經啓動成功
在這裏插入圖片描述

2.3、使ElasticSearch和kibana隨系統啓動

docker update elasticsearch --restart=always
docker update kibana --restart=always

以上,我們的ElasticSearch配置完畢,下一個博客就來初步的學習這個玩意

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章