docker搭建ES集群+kibana

本文详细介绍了如何使用Docker在多个节点上创建ES集群,包括拉取镜像、配置docker-compose.yml文件、设置网络、映射数据卷以及重置密码和配置Kibana。最后,指导读者如何启动容器并访问集群和Kibana界面。
摘要由CSDN通过智能技术生成

搭建ES集群

  1. 创建网络
docker network create elastic
  1. 拉取镜像
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.12.0
  1. 配置docker-compose.yml文件
    注意:映射的宿主机目录需要事先存在,否则会清空容器中的内容。可以先将其注释掉启动容器后cp到宿主机,再启动容器。data目录所有节点最好用同一内容
# 配置节点es1
version: '3'
networks:
  elastic:
    external: true
services:
  es:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.12.0
    container_name: es1
    deploy:
     resources:
       limits:
         memory: 2G
    restart: always
    networks:
      elastic:
        ipv4_address: 172.30.0.2
    environment:
      - ES_JAVA_OPTS=-Xms512m -Xmx512m   #设置ip地址
    ports:
      - "9200:9200"
      - "9300:9300"
    volumes:
      - ./local/plugins:/usr/share/elasticsearch/plugins
      - ./local/data:/usr/share/elasticsearch/data
      - ./local/config:/usr/share/elasticsearch/config
      - ./local/logs:/usr/share/elasticsearch/logs
    privileged: true
# 配置节点es2
version: '3'
networks:
  elastic:
    external: true
services:
  es:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.12.0
    container_name: es2
    deploy:
     resources:
       limits:
         memory: 2G
    restart: always
    networks:
      elastic:
        ipv4_address: 172.30.0.4   #设置ip地址
    environment:
      - ES_JAVA_OPTS=-Xms512m -Xmx512m
    ports:
      - "9201:9200"
      - "9301:9300"
    volumes:
      - ./local/plugins:/usr/share/elasticsearch/plugins
      - ./local/data:/usr/share/elasticsearch/data
      - ./local/config:/usr/share/elasticsearch/config
      - ./local/logs:/usr/share/elasticsearch/logs
    privileged: true
# 配置节点es3
version: '3'
networks:
  elastic:
    external: true
services:
  es:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.12.0
    container_name: es3
    deploy:
     resources:
       limits:
         memory: 2G
    restart: always
    networks:
      elastic:
        ipv4_address: 172.30.0.5   #设置ip地址
    environment:
      - ES_JAVA_OPTS=-Xms512m -Xmx512m
    ports:
      - "9202:9200"
      - "9302:9300"
    volumes:
      - ./local/plugins:/usr/share/elasticsearch/plugins
      - ./local/data:/usr/share/elasticsearch/data
      - ./local/config:/usr/share/elasticsearch/config
      - ./local/logs:/usr/share/elasticsearch/logs
    privileged: true
  1. 复制容器中的映射目录到宿主机
# es1是容器名称,详情可看上一步。需看注意。这里只演示config。
docker cp es1:/usr/share/elasticsearch/config  local/
  1. 配置es配置文件
# es1下的配置文件
vi local/config/elasticsearch.yml
cluster.name: "elasticsearch-cluster"
node.name: es-node1
network.host: 0.0.0.0
network.publish_host: 172.30.0.2
http.port: 9200
transport.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.roles: [master,data]
discovery.seed_hosts: ["172.30.0.2:9300","172.30.0.4:9300","172.30.0.5:9300"]
cluster.initial_master_nodes: ["es-node1", "es-node2", "es-node3"]
# es2下的配置文件
vi local/config/elasticsearch.yml
cluster.name: "elasticsearch-cluster"
node.name: es-node2
network.host: 0.0.0.0
network.publish_host: 172.30.0.4
http.port: 9200
transport.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.roles: [master,data]
discovery.seed_hosts: ["172.30.0.2:9300","172.30.0.4:9300","172.30.0.5:9300"]
# es3下的配置文件
vi local/config/elasticsearch.yml
cluster.name: "elasticsearch-cluster"
node.name: es-node3
network.host: 0.0.0.0
network.publish_host: 172.30.0.5
http.port: 9200
transport.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.roles: [master,data]
discovery.seed_hosts: ["172.30.0.2:9300","172.30.0.4:9300","172.30.0.5:9300"]
  1. 启动容器
docker-compose up -d
  1. 重置密码+kibana使用的token保存备用
docker exec -it es1 /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic
docker exec -it es1 /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
  1. 访问ES,出现如下图内容,这时使用上述重置的密码
    在这里插入图片描述
  2. 登录进去后,出现如图下内容
    在这里插入图片描述
  3. 访问https://192.168.239.141:9200/_cat/nodes查看集群下的节点

搭建kibana

  1. 拉取镜像
docker pull docker.elastic.co/kibana/kibana:8.12.0
  1. 配置docker-compose.yml
version: '3'
networks:
  elastic:
    external: true
services:
  kibana:
    image: docker.elastic.co/kibana/kibana:8.12.0
    container_name: kibana
    deploy:
     resources:
       limits:
         memory: 1G
    restart: always
    networks:
      - elastic
    ports:
      - "5601:5601"
    volumes:
      - ./local/config:/usr/share/kibana/config
  1. 配置kibana.yml
i18n.locale: zh-CN  # 中文,最后一行添加
  1. 启动kibana
docker-compose up -d
  1. 访问http://192.168.239.141:5601/
    输入之前保存得token,并点击按钮
  2. 出现下方输出code界面,可通过docker-compose logs -f 查看
    在这里插入图片描述

在这里插入图片描述
7. kibana配置完成会提示输入账号密码,密码之前保存过。
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值