Dokcer 搭建Es集群

使用Dokcer 搭建Es集群

使用docker 搭建Es集群

参考 官方文档

注意点:如果启动集群时候遇到三个节点中某个节点或者某两个节点一直启动失败需要设置docker Engine的启动大小为4G

StackOverflow相同问题链接:链接

image

docker compose 入门:

Docker compose:compose可以简单理解为一个yaml的配置文件通过这个配置文件可以设置多个服务运行的配置,自己理解是把他看作是一个docker的脚本,将多个docker容器的启动聚集成一个文件。

举两个例子compose例子
服务搭建
version: '3'
services:
  # 指定服务名称
  db:
    # 指定服务使用的镜像
    image: mysql:5.7
    # 指定容器名称
    container_name: mysql
    # 指定服务运行的端口
    ports:
      - 3306:3306
    # 指定容器中需要挂载的文件
    volumes:
      - /mydata/mysql/log:/var/log/mysql
      - /mydata/mysql/data:/var/lib/mysql
      - /mydata/mysql/conf:/etc/mysql
    # 指定容器的环境变量
    environment:
      - MYSQL_ROOT_PASSWORD=root
  # 指定服务名称
  mall-tiny-docker-compose:
    # 指定服务使用的镜像
    image: mall-tiny/mall-tiny-docker-compose:0.0.1-SNAPSHOT
    # 指定容器名称
    container_name: mall-tiny-docker-compose
    # 指定服务运行的端口
    ports:
      - 8080:8080
    # 指定容器中需要挂载的文件
    volumes:
      - /etc/localtime:/etc/localtime
      - /mydata/app/mall-tiny-docker-compose/logs:/var/logs


复制代码
es集群搭建
version: '2.2'
services:
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.12.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.12.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.12.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
    
复制代码

接下来,你仅需要在项目目录下运行docker-compose up 即可看到 docker 开始构建镜像并启动服务

如果需要以后台守护进程模式启动 使用docker-compose up -d

docker-compose down来停止运行中的容器

docker-compose build重新构建容器

docker-compose ps 查看容器状态映射端口

最后使用curl 或者在浏览器 输入url 即查看是否链接成功

image

参考博客:

使用 Docker 快速部署 Elasticsearch 集群

在单台服务器部署多个ElasticSearch节点

Get started with Docker Compose
docker-compose入门指南

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享