Docker部署ElasticSearch

自己看網上的資料寫了一個日誌蒐集項目要保存收集數據到elasticsearch,所以就用docker搭建了一個。

搭建環境的時候還是推薦創建一個network,讓兩個容器都在一個局域網內部訪問。

ES辦公網站的文檔很詳細,自己找找就能得到docker的部署方法。

https://www.elastic.co/guide/index.html

elasticsearch install

  1. 安裝elasticsearch

https://www.elastic.co/guide/en/elastic-stack/current/index.html

https://www.elastic.co/guide/en/elasticsearch/reference/7.15/docker.html

在文檔頁面找到docker方式安裝的連接,就可以得到詳細的方法。

docker network create elastic

docker pull docker.elastic.co/elasticsearch/elasticsearch:7.15.0

#掛載宿主機目錄
mkdir -p /docker/es/config
mkdir -p /docker/es/data
chmod -R 777 /docker/es/data
echo "http.host: 0.0.0.0" >> /docker/es/config/elasticsearch.yml

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

其中elasticsearch.yml是掛載的配置文件,data是掛載的數據,plugins是es掛載的插件,如ik。 數據掛載需要權限,需要設置data文件的權限爲可讀可寫,需要下邊的指令。

chmod -R 777 [路徑]

-e "discovery.type=single-node" 設置爲單節點

特別注意: -e ES_JAVA_OPTS="-Xms256m -Xmx256m" \ 測試環境下,設置ES的初始內存和最大內存,否則導致過大啓動不了ES

訪問測試鏈接:http://192.168.1.7:9200/

測試連接

  1. 安裝kibana

https://www.elastic.co/guide/en/kibana/7.15/install.html

docker pull docker.elastic.co/kibana/kibana:7.15.0

docker run --name kib01 --net elastic -p 5601:5601 -e "ELASTICSEARCH_HOSTS=http://es:9200" -d docker.elastic.co/kibana/kibana:7.15.0

訪問測試連接:

http://192.168.1.7:5601/

kibana安裝成功

  1. 中文分詞器ik安裝

進入容器 docker exec -it es /bin/bash

執行安裝命令:(注意:ik跟es的版本要一致)

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.15.0/elasticsearch-analysis-ik-7.15.0.zip

查看 plugins 目錄可以看到IK分詞器已經安裝成功

IK分詞器安裝

退出容器並重啓容器 docker restart es

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