ES集群+Kibana Docker-Compose部署

前言

  最近在学习es的内容,想用docker部署一个es集群环境,搜索了网上的发现都不是最新的,并且没有集成 Kibana,特此自己写了一个 docker compose文件,在此分享给各位同学,如果中途遇到问题可以留言。

第一步

 在指定目录下创建一个docker-compose.yml文件,文件内容如下。   

version: '2.2'
services:
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.5.2
    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.5.2
    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.5.2
    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
  kibana:
    image: docker.elastic.co/kibana/kibana:7.5.2
    container_name: kibana01
    ports:
      - 5601:5601
    environment:
      ELASTICSEARCH_HOSTS: http://es01:9200
    networks:
      - elastic

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

networks:
  elastic:
    driver: bridge

第二步

 在目录下面执行命令

docker-compose up

  接下来就观察日志等待容器全部启动就可以了,启动成功后是这样的。

ES集群+Kibana Docker-Compose部署_第1张图片

第三步

1. 下载安装elasticsearch-head插件查看es集群状态,这个不细讲安装方法了,同学们自行百度,点进去后发现集群状态正常

ES集群+Kibana Docker-Compose部署_第2张图片

 2. 通过kibana观察集群状态,进入装置http:localhost:5601

通过下面资格步骤可以查看集群的状态

ES集群+Kibana Docker-Compose部署_第3张图片

问题

问题1:

启动时发现es某个节点会被杀掉,日志中出现这样的提示

container_name exited with code 137

原因

给docker容器分配的内存不足,es启动的时候会检查内存

解决方法

给docker加大内存,我这里设置为了4g,同学们根据自己的需求来设置 

ES集群+Kibana Docker-Compose部署_第4张图片

你可能感兴趣的:(docker,elasticsearch,kibana)