elasticsearch docker集群

本文介绍如何使用Docker和docker-compose.yml配置文件搭建Elasticsearch集群,包括镜像准备、服务发布、网络配置及Kibana可视化工具的安装。通过详细设置环境变量和资源限制,确保集群稳定运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 准备好镜像(装好中文分词等插件)
  2. 搭建 docker 镜像仓库
  3. 编写 docker-compose.yml
  4. docker swarm docker stack deploy -c docker-compose.yml es_demo 发布服务
  5. 安装可视化工具 kibana 要与 es 同一网络

docker-compose.yml

version: '3'

services:
  elasticsearch:
    image: 192.168.1.190:5000/elasticsearch_ik:6.7.0_3
    container_name: elasticsearch
    environment:
      - cluster.name=docker-cluster 
        #- bootstrap.memory_lock=true
      - xpack.security.enabled=false
      - node.master=true
      - node.data=true 
      - http.cors.enabled=true
      - http.cors.allow-origin="*"
      - "ES_JAVA_OPTS=-Xms1G -Xmx1G"
    ulimits:
      memlock:
        soft: -1 
        hard: -1 
    volumes:
      - /home/hongyu/env/es_data:/usr/share/elasticsearch/data
        #- /home/hongyu/Projects/dockerfile/es-docker/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
    ports:
      - "9200:9200" 
      - "9300:9300"
    networks:
      - esnet
    deploy:
      mode: global
      placement:
        constraints: [node.role == manager]

  elasticsearch2:
    image: 192.168.1.190:5000/elasticsearch_ik:6.7.0_3
    container_name: elasticsearch2 
    environment:
      - cluster.name=docker-cluster
        #- bootstrap.memory_lock=true
      - xpack.security.enabled=false
      - node.master=false 
      - node.data=true
      - http.cors.enabled=true
      - http.cors.allow-origin="*"
      - "ES_JAVA_OPTS=-Xms1G -Xmx1G"
      - "discovery.zen.ping.unicast.hosts=elasticsearch"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - /home/ffy/env/es_data:/usr/share/elasticsearch/data
    networks:
      - esnet
    deploy:
      mode: global
      placement:
        constraints: [node.role == worker]

  visualizer:
    image: 192.168.1.190:5000/visualizer:latest
    ports:
      - "9080:8080"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
    deploy:
      replicas: 1
      placement:
        constraints: [node.role == manager]
  
  kibana:
    image: 192.168.1.190:5000/kibana:6.7.0
    environment:
      ELASTICSEARCH_HOSTS: http://elasticsearch:9200
    ports:
      - 5601:5601
    networks:
      - esnet
    deploy:
      mode: global
      placement:
        constraints: [node.role == worker]


volumes:
  esdata1:
    driver: local
  esdata2:
    driver: local

networks:
  esnet:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值