I have created two docker-compose files(docker-compose.yml and cluster.yml .
docker-compose.yml
version: '2.2'
services:
dcnode_1:
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.5
container_name: dcnode_1
environment:
- cluster.name=dc_elastic
- node.name=dcnode_1
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- bootstrap.memory_lock=true
- node.roles=master,data
- discovery.seed_hosts=dcnode_1,dcnode_2,dcnode_3
- cluster.initial_master_nodes=dcnode_1,dcnode_2,dcnode_3
logging:
driver: "json-file"
options:
max-file: "9"
max-size: "6m"
ulimits:
memlock:
soft: -1
hard: -1
restart: always
volumes:
- dcdata_1:/usr/share/elasticsearch/data
ports:
- 9200:9200
networks:
dc_network:
dcnode_2:
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.5
container_name: dcnode_2
environment:
- cluster.name=dc_elastic
- node.name=dcnode_2
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- node.roles=master,data
- bootstrap.memory_lock=true
- discovery.seed_hosts=dcnode_1,dcnode_2,dcnode_3
- cluster.initial_master_nodes=dcnode_1,dcnode_2,dcnode_3
logging:
driver: "json-file"
options:
max-file: "9"
max-size: "6m"
ulimits:
memlock:
soft: -1
hard: -1
restart: always
volumes:
- dcdata_2:/usr/share/elasticsearch/data
networks:
dc_network:
dcnode_3:
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.5
container_name: dcnode_3
environment:
- cluster.name=dc_elastic
- node.name=dcnode_3
- node.roles=master,data
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- bootstrap.memory_lock=true
- discovery.seed_hosts=dcnode_1,dcnode_2,dcnode_3
- cluster.initial_master_nodes=dcnode_1,dcnode_2,dcnode_3
logging:
driver: "json-file"
options:
max-file: "9"
max-size: "6m"
ulimits:
memlock:
soft: -1
hard: -1
restart: always
volumes:
- dcdata_3:/usr/share/elasticsearch/data
networks:
dc_network:
networks:
dc_network:
external:
name: dc_network
volumes:
dcdata_1:
driver: local
dcdata_2:
driver: local
dcdata_3:
driver: local
cluster.yml
version: '2.2'
services:
drnode_1:
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.5
container_name: drnode_1
environment:
- cluster.name=dr_elastic
- node.name=drnode_1
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- bootstrap.memory_lock=true
- node.roles=master,data
- discovery.seed_hosts=drnode_1,drnode_2,drnode_3
- cluster.initial_master_nodes=drnode_1,drnode_2,drnode_3
logging:
driver: "json-file"
options:
max-file: "9"
max-size: "6m"
ulimits:
memlock:
soft: -1
hard: -1
restart: always
volumes:
- drdata_1:/usr/share/elasticsearch/data
ports:
- 9201:9201
networks:
dr_network:
drnode_2:
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.5
container_name: drnode_2
environment:
- cluster.name=dr_elastic
- node.name=drnode_2
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- node.roles=master,data
- bootstrap.memory_lock=true
- discovery.seed_hosts=drnode_1,drnode_2,drnode_3
- cluster.initial_master_nodes=drnode_1,drnode_2,drnode_3
logging:
driver: "json-file"
options:
max-file: "9"
max-size: "6m"
ulimits:
memlock:
soft: -1
hard: -1
restart: always
volumes:
- drdata_2:/usr/share/elasticsearch/data
networks:
dr_network:
drnode_3:
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.5
container_name: drnode_3
environment:
- cluster.name=dr_elastic
- node.name=drnode_3
- node.roles=master,data
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- bootstrap.memory_lock=true
- discovery.seed_hosts=drnode_1,drnode_2,drnode_3
- cluster.initial_master_nodes=drnode_1,drnode_2,drnode_3
logging:
driver: "json-file"
options:
max-file: "9"
max-size: "6m"
ulimits:
memlock:
soft: -1
hard: -1
restart: always
volumes:
- drdata_3:/usr/share/elasticsearch/data
networks:
dr_network:
networks:
dr_network:
external:
name: dr_network
volumes:
drdata_1:
driver: local
drdata_2:
driver: local
drdata_3:
driver: local
I have created this 2 networks manually by running docker network create dr_network
same for dc_network.
All 6 containers are running from these two yaml file(docker-compose.yml and cluster.yml)
But i am getting error when i do curl docker-compose -f cluster.yml up -d
[root@localhost docker]# curl -XGET "http://127.0.0.1:9201/_cat/shards?pretty"
curl: (56) Recv failure: Connection reset by peer
[root@localhost docker]#
and for 2nd compose file that is docker-compose.yml it is working(when i do curl)