docker 搭建 es 集群
搭建Elasticsearch集群的基本步骤如下:
- 准备多个Elasticsearch节点。
- 配置节点,使其能够组成集群。
- 启动节点并组成集群。
以下是使用Docker搭建Elasticsearch集群的基本步骤和示例配置:
- 创建
docker-compose.yml
文件,用于定义Elasticsearch服务:
version: '3.2'
services:
es01:
image: docker.elastic.co/elasticsearch/elasticsearch:7.10.0
container_name: es01
environment:
- node.name=es01
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es02
- cluster.initial_master_nodes=es01,es02
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata01:/usr/share/elasticsearch/data
ports:
- 9200:9200
networks:
- esnet
es02:
image: docker.elastic.co/elasticsearch/elasticsearch:7.10.0
container_name: es02
environment:
- node.name=es02
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es01
- cluster.initial_master_nodes=es01,es02
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata02:/usr/share/elasticsearch/data
networks:
- esnet
volumes:
esdata01:
driver: local
esdata02:
driver: local
networks:
esnet:
driver: bridge
- 使用
docker-compose
命令启动集群:
docker-compose up -d
以上配置定义了一个由两个Elasticsearch节点组成的集群。节点名称分别是es01
和es02
,它们通过discovery.seed_hosts
相互发现。cluster.initial_master_nodes
设置了集群的初始主节点。数据卷用于持久化数据。
请根据实际情况调整Elasticsearch的版本和资源配置。
评论已关闭