로컬환경에 Elasticsearch를 docker로 기동은 아래를 참조하면 된다. 

https://farming-developer.tistory.com/entry/Elasticsearch-install-local

 

Elasticsearch install (local)

로컬 환경에서 Elasticsearch를 만드는 방법 1. Elastic Search 기동 2. kibana 기동 docker compose를 이용하면 간편하게 로컬 환경을 만들 수 있다. Dockerfile 작성 도커의 이미지를 작성한다. 일본어를 이..

farming-developer.tistory.com

 

제목대로, 클러스터 환경을 docker로 기동하는 방법을 정리한다. 

로컬에 만드는것과 차이점은 docker에 share node를 기술하는 방법이 다르다. 

 

es1, kibana

 

version: '3.3'
services:
  es01:
    build:
        context: .
        dockerfile: Dockerfile
    image: elasticsearch:7.10.2
    container_name: es01
    environment:
      - node.name=es01
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts={es2 ipaddr,es3 ipaddr,es4 ipaddr}
      - cluster.initial_master_nodes=es01,es02,es03,es04
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms26g -Xmx26g"
      - network.publish_host={es01 ipaddr}
    ulimits:
      memlock:
        soft: -1
        hard: -1
    ports:
      - 9200:9200
      - 9300:9300
    networks:
      - elastic
    volumes:
      - ./data01_01:/usr/share/elasticsearch/data

  kiba01:
    image: docker.elastic.co/kibana/kibana:7.10.2
    container_name: kiba01
    ports:
      - 5601:5601
    environment:
      ELASTICSEARCH_URL: http://es01:9200
      ELASTICSEARCH_HOSTS: http://es01:9200
    networks:
      - elastic

networks:
  elastic:
    driver: bridge

 

es2

 

version: '3.3'
services:
  es02:
    build:
        context: .
        dockerfile: Dockerfile
    image: elasticsearch:7.10.2
    container_name: es02
    environment:
      - node.name=es02
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts={es1 ipaddr,es3 ipaddr,es4 ipaddr}
      - cluster.initial_master_nodes=es01,es02,es03,es04
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms26g -Xmx26g"
      - network.publish_host={es2 ipaddr}
    ulimits:
      memlock:
        soft: -1
        hard: -1
    ports:
      - 9200:9200
      - 9300:9300
    volumes:
      - ./data02_01:/usr/share/elasticsearch/data

 

es3

 

version: '3.3'
services:
  es03:
    build:
        context: .
        dockerfile: Dockerfile
    image: elasticsearch:7.10.2
    container_name: es03
    environment:
      - node.name=es03
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts={es1 ipaddr,es2 ipaddr,es4 ipaddr}
      - cluster.initial_master_nodes=es01,es02,es03,es04
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms26g -Xmx26g"
      - network.publish_host={es3 ipaddr}
    ulimits:
      memlock:
        soft: -1
        hard: -1
    ports:
      - 9200:9200
      - 9300:9300
    volumes:
      - ./data03_01:/usr/share/elasticsearch/data

 

위의 파일들은 docker-compose.yml로 만든 후, 

각 서버에 위치시키고 기동을 시킨다. 

+ Recent posts