version: '3.2'
services:
es01:
image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2
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 # 开启内存锁定
#- bootstrap.mlockall: true 也可以做到内存锁定的功能
- "ES_JAVA_OPTS=-Xms512m -Xmx512m" # 分配给ela的内存
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.4.2
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.4.2
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
参数祥解
-
node.name=es03
节点名字 -
cluster.name=es-docker-cluster
集群名字 -
discovery.seed_hosts=es01,es02
如果要与其他主机上的节点组成集群,则必须使用该discovery.seed_hosts设置来提供集群中其他主机 的列表,这些主机符合主机要求并且可能处于活动状态且可联系,以便为发现过程提供种子
此设置通常应包含集群中所有符合主机要求的节点的地址
此设置包含主机数组或逗号分隔的字符串。每个值都应采用host:port或的形式host(如果未设置,则port 默认为设置的transport.profiles.default.port初始 值transport.port)。请注意,IPv6主机必须放在方括号中。此设置的默认值为127.0.0.1, [::1]。
网友评论