当前位置:   article > 正文

微服务框架 SpringCloud微服务架构 29 ES 集群 29.2 搭建集群_springcloud es

springcloud es

微服务框架

【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】

SpringCloud微服务架构

29 ES 集群

29.2 搭建集群
29.2.1 搭建ES 集群

我们计划利用3个docker容器模拟3个es的节点。

在这里插入图片描述

上次没看完的文档,还剩最后一部分

在这里插入图片描述

我们会在单机上利用docker容器运行多个es实例来模拟es集群。不过生产环境推荐大家每一台服务节点仅部署一个es的实例。

部署es集群可以直接使用docker-compose来完成,但这要求你的Linux虚拟机至少有4G的内存空间

【创建es 集群】

首先编写一个docker-compose文件,内容如下:

version: '2.2'
services:
  es01:
    image: elasticsearch:7.12.1
    container_name: es01
    environment:
      - node.name=es01
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es02,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    volumes:
      - data01:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - elastic
  es02:
    image: elasticsearch:7.12.1
    container_name: es02
    environment:
      - node.name=es02
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    volumes:
      - data02:/usr/share/elasticsearch/data
    ports:
      - 9201:9200
    networks:
      - elastic
  es03:
    image: elasticsearch:7.12.1
    container_name: es03
    environment:
      - node.name=es03
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es02
      - cluster.initial_master_nodes=es01,es02,es03
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    volumes:
      - data03:/usr/share/elasticsearch/data
    networks:
      - elastic
    ports:
      - 9202:9200
volumes:
  data01:
    driver: local
  data02:
    driver: local
  data03:
    driver: local

networks:
  elastic:
    driver: bridge
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58

在这里插入图片描述

就是这个文件了

先把现在服务器上的 单点es 和kibana 停掉

在这里插入图片描述

OK

直接放在root 文件夹下

在这里插入图片描述

es运行需要修改一些linux系统权限,修改/etc/sysctl.conf文件

vi /etc/sysctl.conf
  • 1

添加下面的内容:

vm.max_map_count=262144
  • 1

在这里插入图片描述

然后执行命令,让配置生效:

sysctl -p
  • 1

在这里插入图片描述

虽然笔者也不知道其他是什么

通过docker-compose启动集群:

docker-compose up -d
  • 1

在这里插入图片描述

妙啊

看看运行情况

在这里插入图片描述

OK,三个都跑起来 了

开三个新窗口,监控一下每个节点的日志

在这里插入图片描述

在这里插入图片描述

OK,对三个都进行一个监控

在这里插入图片描述

【集群状态监控】

kibana可以监控es集群,不过新版本需要依赖es的x-pack 功能,配置比较复杂。

这里推荐使用cerebro来监控es集群状态,官方网址:https://github.com/lmenezes/cerebro

在这里插入图片描述

课前资料已经提供了安装包:

在这里插入图片描述

妙啊

复制到我们自己的软件目录,直接解压

在这里插入图片描述

进入bin 目录

在这里插入图片描述

直接双击这个bat 文件

在这里插入图片描述

OK,这样就启动成功了,访问9000 端口

在这里插入图片描述

先连接一下9200 节点

在这里插入图片描述

在这里插入图片描述

可以看到它报错了,访问超时

我查,【还是连不上】

在这里插入图片描述

端口也开了,笔者重启了一下服务器,重新运行了compose

在这里插入图片描述

我真的会栓Q,终于进来了

在这里插入图片描述

绿色的条,代表集群处于绿色(健康状态)。可以看到es01 的星星是实心的,说明它是当前集群的主节点

【创建索引库】

利用kibana的DevTools创建索引库

在DevTools中输入指令:

PUT /itcast
{
  "settings": {
    "number_of_shards": 3, // 分片数量
    "number_of_replicas": 1 // 副本数量
  },
  "mappings": {
    "properties": {
      // mapping映射定义 ...
    }
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

当然现在我们的kibana 已经停掉了,可以直接利用cerebro 创建索引库

在这里插入图片描述

点击

在这里插入图片描述

  • 索引库名:itcast
  • 分片数量:3
  • 几个备份:1

直接右下角创建

在这里插入图片描述

回到主页

在这里插入图片描述

妙啊【实心的正方形就是主分片,虚线框的就是副本分片】

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/718110
推荐阅读
相关标签
  

闽ICP备14008679号