docker搭建es集群
一、编写docker-compose.yml
version: '2.2'
services:
es01:
image: elasticsearch:7.7.0
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=-Xms300m -Xmx300m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- /volumn/es-cluster/data01:/usr/share/elasticsearch/data
ports:
- 39201:9200
networks:
- elastic
es02:
image: elasticsearch:7.7.0
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=-Xms300m -Xmx300m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- /volumn/es-cluster/data02:/usr/share/elasticsearch/data
networks:
- elastic
es03:
image: elasticsearch:7.7.0
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=-Xms300m -Xmx300m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- /volumn/es-cluster/data03:/usr/share/elasticsearch/data
networks:
- elastic
volumes:
data01:
driver: local
data02:
driver: local
data03:
driver: local
networks:
elastic:
driver: bridge
二 、更改挂载目录的权限
chmod 777 data01
chmod 777 data02
chmod 777 data03
三、更改启动参数
sudo sysctl -w vm.max_map_count=262144
sysctl -a|grep vm.max_map_count
四、启动测试
docker up -d
curl -X GET "localhost:39201/_cat/nodes?v=true&pretty"