elasticsearch docker中的ElasticSearch群集始终在3节点配置中关闭一个主机,elasticsearch,elasticsearch" /> elasticsearch docker中的ElasticSearch群集始终在3节点配置中关闭一个主机,elasticsearch,elasticsearch" />

elasticsearch docker中的ElasticSearch群集始终在3节点配置中关闭一个主机

elasticsearch docker中的ElasticSearch群集始终在3节点配置中关闭一个主机,elasticsearch,elasticsearch,我在三个docker容器docker-compose.yml中运行elasticsearch集群,如下所示 当我运行其中两个时,可以设置集群,状态为绿色,但当我启动第三个时,集群中的一个节点被强制关闭(docker容器退出),并且在shutdown elasticsearch节点中没有记录错误消息 节点1 docker-compose.yml: version: '2' services: elasticsearch: image: docker.elastic.co/elasticsearch

我在三个docker容器docker-compose.yml中运行elasticsearch集群,如下所示

当我运行其中两个时,可以设置集群,状态为绿色,但当我启动第三个时,集群中的一个节点被强制关闭(docker容器退出),并且在shutdown elasticsearch节点中没有记录错误消息

节点1 docker-compose.yml:

version: '2'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:5.4.1
container_name: elasticsearch1
environment:
  - cluster.name=MoquiElasticSearch
  - bootstrap.memory_lock=true
  - discovery.zen.minimum_master_nodes=2
  - xpack.security.enabled=false
  - transport.publish_host=192.168.2.101
  - http.publish_host=192.168.2.101
  - discovery.zen.ping.unicast.hosts=192.168.2.101:9301,192.168.2.101:9302
  - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
  - TZ=Asia/Shanghai
ulimits:
  memlock:
    soft: -1
    hard: -1
mem_limit: 1g
ports:
  - 9200:9200
  - 9300:9300
节点2 docker-compose.yml

version: '2'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:5.4.1
container_name: elasticsearch2
environment:
  - cluster.name=MoquiElasticSearch
  - bootstrap.memory_lock=true
  - discovery.zen.minimum_master_nodes=2
  - xpack.security.enabled=false
  - transport.publish_host=192.168.2.101
  - transport.publish_port=9301
  - transport.tcp.port=9301
  - http.publish_host=192.168.2.101
  - http.publish_port=9201
  - http.port=9201
  - discovery.zen.ping.unicast.hosts=192.168.2.101:9300,192.168.2.101:9302
  - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
  - TZ=Asia/Shanghai
ulimits:
  memlock:
    soft: -1
    hard: -1
mem_limit: 1g
ports:
  - 9201:9201
  - 9301:9301
version: '2'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:5.4.1
container_name: elasticsearch3
environment:
  - cluster.name=MoquiElasticSearch
  - bootstrap.memory_lock=true
  - discovery.zen.minimum_master_nodes=2
  - xpack.security.enabled=false
  - transport.publish_host=192.168.2.101
  - transport.publish_port=9302
  - transport.tcp.port=9302
  - http.publish_host=192.168.2.101
  - http.publish_port=9202
  - http.port=9202
  - discovery.zen.ping.unicast.hosts=192.168.2.101:9300,192.168.2.101:9301
  - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
  - TZ=Asia/Shanghai
ulimits:
  memlock:
    soft: -1
    hard: -1
mem_limit: 1g
ports:
  - 9202:9202
  - 9302:9302
节点3 docker-compose.yml

version: '2'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:5.4.1
container_name: elasticsearch2
environment:
  - cluster.name=MoquiElasticSearch
  - bootstrap.memory_lock=true
  - discovery.zen.minimum_master_nodes=2
  - xpack.security.enabled=false
  - transport.publish_host=192.168.2.101
  - transport.publish_port=9301
  - transport.tcp.port=9301
  - http.publish_host=192.168.2.101
  - http.publish_port=9201
  - http.port=9201
  - discovery.zen.ping.unicast.hosts=192.168.2.101:9300,192.168.2.101:9302
  - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
  - TZ=Asia/Shanghai
ulimits:
  memlock:
    soft: -1
    hard: -1
mem_limit: 1g
ports:
  - 9201:9201
  - 9301:9301
version: '2'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:5.4.1
container_name: elasticsearch3
environment:
  - cluster.name=MoquiElasticSearch
  - bootstrap.memory_lock=true
  - discovery.zen.minimum_master_nodes=2
  - xpack.security.enabled=false
  - transport.publish_host=192.168.2.101
  - transport.publish_port=9302
  - transport.tcp.port=9302
  - http.publish_host=192.168.2.101
  - http.publish_port=9202
  - http.port=9202
  - discovery.zen.ping.unicast.hosts=192.168.2.101:9300,192.168.2.101:9301
  - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
  - TZ=Asia/Shanghai
ulimits:
  memlock:
    soft: -1
    hard: -1
mem_limit: 1g
ports:
  - 9202:9202
  - 9302:9302

这是由于Mac上的docker内存有限(为2.5G),无法提供3个节点,因此其中一个节点被迫关闭


增加docker engine的专用内存后,所有3个节点都已启动并运行,elasticsearch cluster呈绿色

您确定主机上有足够的内存吗?是的,我在MacBook pro 16G上运行了它们。仅在启动弹性节点之前使用8G。无论我如何改变启动3个节点的顺序,我都可以重现这个问题。瓦尔,谢谢你的提醒。我发现Mac上的docker现在可以选择限制docker专用的内存(2.5G),这就是为什么只有两个节点可以成功运行的原因。在我将其更改为4.5G之后,所有三个节点都在运行,集群是绿色的。是的,我接下来要提到这一点,很高兴您能理解;-)