[英]Unable to start Elastic Search 8 and Kibana using Docker
[英]how to create ES cluster and store data if elastic search and kibana is installed using docker
我在 ubuntu 機器上使用 docker 鏡像安裝了 Elastic Search 和 Kibana,用於運行的命令是:
docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.5.1
docker run --link 36c0ea06f9e3:elasticsearch -p 5601:5601 docker.elastic.co/kibana/kibana:7.5.1
它在我的本地機器上成功運行。
現在,當您嘗試創建具有一個主從節點的集群節點時,我主要關心的是,用戶需要編輯/etc/elasticsearc/elasticsearch.yml
。
但在這種情況下(在 ubuntu 中使用 docker image 安裝)。
沒有創建這樣的文件或文件夾。 請讓我知道在這種情況下如何創建集群和存儲數據。
您在第一個 docker run 語句中已經有了部分解決方案。 elasticsearch的docker鏡像是使用環境變量配置的。 例如,您的運行語句使用-e "discovery.type=single-node"
標志將節點設置為單節點模式。 您可以在此處找到配置選項的完整列表。
您還可以使用主機共享卷與主機共享配置目錄:
docker run -p 9200:9200 -p 9300:9300 -v <your-dir>/elasticsearch.yml/:/usr/share/elasticsearch/config/elasticsearch.yml docker.elastic.co/elasticsearch/elasticsearch:7.5.1
這允許您直接從主機文件系統編輯your_dir/elasticsearch.yml中的配置。 在嘗試啟動容器之前,只需確保配置文件存在於指定目錄中。
來自官方指南,您可以使用環境變量將選項傳遞給/etc/elasticsearc/elasticsearch.yml
這是示例 docker-compose.yml:
version: '2.2'
services:
es01:
image: docker.elastic.co/elasticsearch/elasticsearch:7.5.1
container_name: es01
environment:
- node.name=es01
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es02,es03
- cluster.initial_master_nodes=es01,es02,es03
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- data01:/usr/share/elasticsearch/data
ports:
- 9200:9200
networks:
- elastic
es02:
image: docker.elastic.co/elasticsearch/elasticsearch:7.5.1
container_name: es02
environment:
- node.name=es02
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es01,es03
- cluster.initial_master_nodes=es01,es02,es03
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- data02:/usr/share/elasticsearch/data
networks:
- elastic
es03:
image: docker.elastic.co/elasticsearch/elasticsearch:7.5.1
container_name: es03
environment:
- node.name=es03
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es01,es02
- cluster.initial_master_nodes=es01,es02,es03
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- data03:/usr/share/elasticsearch/data
networks:
- elastic
volumes:
data01:
driver: local
data02:
driver: local
data03:
driver: local
networks:
elastic:
driver: bridge
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.