Elasticsearch kümesi swarm'da (yığın) çalışmıyor, ancak compose ile çalışıyor

0

Soru

kullanarak çalışan bir elasticsearch & kibana docker oluşturma dosyam var docker compose up komut, ancak çalışmıyor docker stack deploy komut. Ben de bindirme sürücüsü ile ağ kullanmayı denedim. Küme sağlığını kontrol ettiğimde curl localhost:9200/_cluster/health ben aşağıdaki hata:

{"error":{"root_cause":[{"type":"master_not_discovered_exception","reason":null}],"type":"master_not_discovered_exception","reason":null},"status":503}

version: '3.4'

services:
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.15.2
    hostname: es01
    environment:
      - node.name=es01
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es02,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    volumes:
      - data01:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - elastic

  es02:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.15.2
    hostname: es02
    environment:
      - node.name=es02
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    volumes:
      - data02:/usr/share/elasticsearch/data
    networks:
      - elastic

  es03:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.15.2
    hostname: es03
    environment:
      - node.name=es03
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es02
      - cluster.initial_master_nodes=es01,es02,es03
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    volumes:
      - data03:/usr/share/elasticsearch/data
    networks:
      - elastic

  kib01:
    image: docker.elastic.co/kibana/kibana:7.15.2
    hostname: kib01
    ports:
      - 5601:5601
    environment:
      ELASTICSEARCH_URL: http://es01:9200
      ELASTICSEARCH_HOSTS: '["http://es01:9200","http://es02:9200","http://es03:9200"]'
    networks:
      - elastic

volumes:
  data01:
    driver: local
  data02:
    driver: local
  data03:
    driver: local

networks:
  elastic:
    driver: overlay
    internal: true

1

En iyi cevabı

0

Bağlantı noktasını kaldırmak hile yaptı.

Bağlantı noktasının soruna nasıl neden olduğundan emin değilim. Detayları bilen varsa lütfen paylaşın.

İşte güncellenmiş çalışma kompozisyonu:

version: '3.4'

services:
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.15.2
    hostname: es01
    environment:
      - node.name=es01
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es02,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    volumes:
      - data01:/usr/share/elasticsearch/data
    networks:
      - elastic

  es02:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.15.2
    hostname: es02
    environment:
      - node.name=es02
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    volumes:
      - data02:/usr/share/elasticsearch/data
    networks:
      - elastic

  es03:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.15.2
    hostname: es03
    environment:
      - node.name=es03
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es02
      - cluster.initial_master_nodes=es01,es02,es03
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    volumes:
      - data03:/usr/share/elasticsearch/data
    networks:
      - elastic

  kib01:
    image: docker.elastic.co/kibana/kibana:7.15.2
    hostname: kib01
    ports:
      - 5601:5601
    environment:
      ELASTICSEARCH_URL: http://es01:9200
      ELASTICSEARCH_HOSTS: '["http://es01:9200","http://es02:9200","http://es03:9200"]'
    networks:
      - elastic

volumes:
  data01:
    driver: local
  data02:
    driver: local
  data03:
    driver: local

networks:
  elastic:
    driver: overlay
    internal: true
2021-11-20 13:23:06

Gereksiz bağlantı noktası, container_name ve diğer yönergelerin eklendiği swarm'da (ve compose'da) dosya oluşturma söz konusu olduğunda çok fazla kargo kültü var gibi görünüyor. Genelde bu şeyler kötü bir fikirdir. Servis-servis iletişim bağlantı noktalarının yayınlanması gerekmez, çünkü servisler birbirlerini özel bindirme ağlarında görebilirler. Swarm'ın dışından gelen trafiği kabul etmesi gerekmeyen bağlantı noktalarının yayınlanması, swarm'ın tamamında yalnızca bir hizmetin bağlantı noktasını kullanabileceği için olası bir çakışmaya neden olur.
Chris Becke

Diğer dillerde

Bu sayfa diğer dillerde

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................