docker-compose elasticsearch集群

129 阅读1分钟
version: '3'
networks:
  esnet:
    driver: bridge
services:
  es01:
    image: elasticsearch:7.2.0
    container_name: es1
    restart: always
    environment:
      - TZ="Asia/Shanghai"
      - cluster.name=docker-cluster
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - node.name=node0
      - node.master=true
      - node.data=true
      - bootstrap.memory_lock=true
      - search.max_buckets=100000000
      - http.cors.enabled=true
      - http.cors.allow-origin=*
      - cluster.initial_master_nodes=node0
      - "discovery.zen.ping.unicast.hosts=es01,es02,es03"
      - "discovery.zen.minimum_master_nodes=2"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - ./es01/data:/usr/share/elasticsearch/data
      - ./es01/logs:/usr/share/elasticsearch/logs
    ports:
      - 9200:9200
    networks:
      - esnet
  es02:
    image: elasticsearch:7.2.0
    container_name: es2
    restart: always
    environment:
      - TZ="Asia/Shanghai"
      - cluster.name=docker-cluster
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - node.name=node1
      - node.master=true
      - node.data=true
      - bootstrap.memory_lock=true
      - search.max_buckets=100000000
      - http.cors.enabled=true
      - http.cors.allow-origin=*
      - cluster.initial_master_nodes=node0
      - "discovery.zen.ping.unicast.hosts=es01,es02,es03"
      - "discovery.zen.minimum_master_nodes=2"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - ./es02/data:/usr/share/elasticsearch/data
      - ./es02/logs:/usr/share/elasticsearch/logs
    ports:
      - 9201:9200
      - 9301:9300
    networks:
      - esnet
  es03:
    image: elasticsearch:7.2.0
    container_name: es3
    restart: always
    environment:
      - TZ="Asia/Shanghai"
      - cluster.name=docker-cluster
      - node.name=node2
      - node.master=true
      - node.data=true
      - bootstrap.memory_lock=true
      - search.max_buckets=100000000
      - http.cors.enabled=true
      - http.cors.allow-origin=*
      - cluster.initial_master_nodes=node0
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - "discovery.zen.ping.unicast.hosts=es01,es02,es03"
      - "discovery.zen.minimum_master_nodes=2"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - ./es03/data:/usr/share/elasticsearch/data
      - ./es03/logs:/usr/share/elasticsearch/logs
    ports:
      - 9202:9200
      - 9302:9300
    networks:
      - esnet
  kibana:
    image: kibana:7.2.0
    container_name: kibana
    restart: always
    environment:
      - TZ="Asia/Shanghai"
    ports:
      - 5601:5601
    volumes:
      - ./kibana.yml:/usr/share/kibana/config/kibana.yml:rw
    depends_on:
      - es01
    networks:
      - esnet
  eshead:    
    image: mobz/elasticsearch-head:5
    container_name: eshead
    networks:
      - esnet
    ports:
      - 9110:9100

kibana.yml

kibana.yml 文件配置如下
server.name: kibana
server.host: "0"
#此处为es的master地址
elasticsearch.hosts: [ "http://192.168.125.12:9200","http://192.168.125.12:9201","http://192.168.125.12:9202" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true