【问题标题】:Start up elastic search on multiple hosts using docker使用 docker 在多个主机上启动弹性搜索
【发布时间】:2021-11-23 16:06:51
【问题描述】:

按照本指南:Install ES using Docker,我能够启动具有三个实例的 ES 集群。不幸的是,这些容器都在同一个主机上运行。如何将集群实例分发到不同的主机(具有不同的 IP 地址)并启用这些 es 实例之间的通信?有什么建议?提前致谢!

这是docker-compose.yaml 文件。

version: '2.2'
services:
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.15.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=-Xms512m -Xmx512m"
    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.15.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=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data02:/usr/share/elasticsearch/data
    networks:
      - elastic
  es03:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.15.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=-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

【问题讨论】:

  • 我认为 ansible 最适合这个。

标签: docker elasticsearch docker-compose


【解决方案1】:

将集群实例分发到不同的主机(不同的IP地址),并启用这些es实例之间的通信?

这正是 Kubernetes 或 Docker Swarm 的用例(如果您必须有容器)。

https://www.elastic.co/blog/introducing-elastic-cloud-on-kubernetes-the-elasticsearch-operator-and-beyond

【讨论】:

    猜你喜欢
    • 2015-04-19
    • 2019-08-14
    • 1970-01-01
    • 1970-01-01
    • 2018-02-13
    • 2021-05-18
    • 2016-01-31
    • 1970-01-01
    • 2018-07-22
    相关资源
    最近更新 更多