使用docker-compose搭建es集群
时间: 2023-12-05 18:51:42 浏览: 274
好的,下面是使用docker-compose搭建ES集群的步骤:
1. 首先,在你的机器上安装Docker和Docker Compose。
2. 创建一个新的文件夹,用于存储docker-compose.yml文件和ES配置文件。
3. 在该文件夹中创建一个名为docker-compose.yml的文件,并将以下内容复制到文件中:
```
version: '3'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.10.1
container_name: elasticsearch
environment:
- node.name=es-node1
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es-node1,es-node2,es-node3
- cluster.initial_master_nodes=es-node1,es-node2,es-node3
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata1:/usr/share/elasticsearch/data
ports:
- 9200:9200
networks:
- esnet
elasticsearch2:
image: docker.elastic.co/elasticsearch/elasticsearch:7.10.1
container_name: elasticsearch2
environment:
- node.name=es-node2
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es-node1,es-node2,es-node3
- cluster.initial_master_nodes=es-node1,es-node2,es-node3
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata2:/usr/share/elasticsearch/data
networks:
- esnet
elasticsearch3:
image: docker.elastic.co/elasticsearch/elasticsearch:7.10.1
container_name: elasticsearch3
environment:
- node.name=es-node3
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es-node1,es-node2,es-node3
- cluster.initial_master_nodes=es-node1,es-node2,es-node3
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata3:/usr/share/elasticsearch/data
networks:
- esnet
volumes:
esdata1:
driver: local
esdata2:
driver: local
esdata3:
driver: local
networks:
esnet:
```
这个文件定义了三个ES节点,每个节点都有自己的容器,并且它们都属于同一个网络。
4. 创建一个名为elasticsearch.yml的文件,并将以下内容复制到文件中:
```
cluster.name: "es-docker-cluster"
network.host: 0.0.0.0
discovery.seed_hosts: elasticsearch,elasticsearch2,elasticsearch3
cluster.initial_master_nodes: elasticsearch,elasticsearch2,elasticsearch3
```
这个文件定义了ES节点的配置信息。
5. 运行以下命令启动ES集群:
```
docker-compose up -d
```
这个命令将启动三个ES节点,并在后台运行它们。
6. 等待片刻,然后运行以下命令来查看ES集群的状态:
```
curl http://localhost:9200/_cat/nodes?v
```
如果一切正常,你应该能够看到三个节点的状态信息。
这样,一个使用docker-compose搭建的ES集群就创建完成了。
阅读全文