(二)史上最强ELK集群搭建系列教程——ES集群搭建

本文通过docker-compose详细介绍了如何搭建Elasticsearch 7.11.1的高可用集群,包括设置镜像、调整系统参数、配置docker-compose文件以及启动和验证ES集群。此外,还提到了安装es-head插件作为可视化管理工具。

引言

上篇已经分享了我的ELK集群架构设计思路,从该篇起我们就进入实战环节。因为ELK中的应用大多数都是依赖elasticsearch的,所以我们搭建ELK集群的步骤就先从ES集群开始。ES是一个高可用的搜索引擎,我们搭建的ES集群通过分片副本同步方式保证了我们数据的存储安全性,同时也保证了我们数据的快速检索能力。我们的ES集群采用一个主节点,俩个数据节点的方式搭建,版本采用比较新的V7.11.1版本。

正文

  • docker-compose方式创建es集群

这里我们通过docker-compose方式创建es集群,关于docker-compose安装过程我在这里就不在详细介绍了,有不懂的朋友可以参考我的博客docker环境下docker-compose安装高可用redis集群详解(一主二从三哨兵),里面有关于docker-compose的详细安装过程,可以作为参考。

  • 拉取镜像

命令:docker pull elasticsearch:7.11.1

特别提醒:因为作者已经提前下载好了镜像,再次拉取时就不会重新下载了。镜像下载时间的过程比较久,我们可以提前下载好我们所需要的全部软件镜像。

  • 修改linux文件句柄数:因为es集群默认的进程句柄数需要至少为262144个,系统默认的是65535,这里将默认的进程句柄数调大到262144个,以便可以正产启动es集群。

命令:

echo vm.max_map_count=262144  >>  /etc/sysctl.conf

sysctl -p 

  • docker-compose启动文件es-cluster.yml配置内容如下:

version: '2.2'
services:
  #服务名称
  es01:
    #镜像名称
    image: elasticsearch:7.11.1
    #容器名称
    container_name: elk-cluster-es-master
    privileged: true
    #环境变量设置
    environment:
      #节点名称
      - node.name=es01
      #是否启用主节点
      - node.master=true
      #集群名称
      - cluster.name=elk-cluster-es
      #其它节点
      - discovery.seed_hosts=es02,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      #加入跨域配置
      - http.cors.enabled=true
      - http.cors.allow-origin=*
      #java堆内存大小设置
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      #开启读写权限
      - "TAKE_FILE_OWNERSHIP=true"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    #数据卷映射
    volumes:
      - /elk/es/master/data:/usr/share/elasticsearch/data
      - /elk/es/master/logs:/usr/share/elasticsearch/logs
    #端口映射
    ports:
      - 9200:9200
    #网络配置
    networks:
      - elastic
  es02:
    image: elasticsearch:7.11.1
    container_name: elk-cluster-es-slave-01
    privileged: true
    environment:
      - node.name=es02
      - cluster.name=elk-cluster-es
      - discovery.seed_hosts=es01,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      #加入跨域配置
      - http.cors.enabled=true
      - http.cors.allow-origin=*
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - "TAKE_FILE_OWNERSHIP=true"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - /elk/es/slave01/data:/usr/share/elasticsearch/data
      - /elk/es/slave01/logs:/usr/share/elasticsearch/logs
    networks:
      - elastic
  es03:
    image: elasticsearch:7.11.1
    container_name: elk-cluster-es-slave-02
    privileged: true
    environment:
      - node.name=es03
      - cluster.name=elk-cluster-es
      - discovery.seed_hosts=es01,es02
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      #加入跨域配置
      - http.cors.enabled=true
      - http.cors.allow-origin=*
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - "TAKE_FILE_OWNERSHIP=true"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - /elk/es/slave02/data:/usr/share/elasticsearch/data
      - /elk/es/slave02/logs:/usr/share/elasticsearch/logs
    networks:
      - elastic

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

networks:
  elastic:
    driver: bridge
  • 创建一个docker-compose的es集群启动文件es-cluster.yml,将以上配置内容通过vi写入yml文件中,并通过以下命令启动es集群

命令:docker-compose  -f  /es-cluster.yml up -d 

  • 验证节点是否可以访问,到这里我们的ES集群就安装好了

  • 安装es-head可视化插件管理ES集群

  • 拉取镜像

命令:docker pull mobz/elasticsearch-head:5

  • 启动es-head

命令:docker run -d --name elk-cluster-es-head -p 9100:9100 mobz/elasticsearch-head:5

  • 访问验证

到这里我们es集群管理工具es-head就安装成功了,后续我们可以通过es-head进行es集群的一些操作,这里不再详述。如果是google浏览器,该步骤我们也可以跳过,google浏览器有现成的es-head插件,我们可以直接安装使用。

结语

ok ,到这里我们的ES集群就安装完成了,我们下期见,后续更加精彩哦。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

厉害哥哥吖

您的支持是我创作下去的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值