当前位置: 首页 > news >正文

Elasticsearch7.8.0版本进阶——分布式集群(应对故障)

目录

    • 一、Elasticsearch集群的安装
      • 1.1、Elasticsearch集群的安装(win10环境)
      • 1.2、Elasticsearch集群的安装(linux环境)
    • 二、应对故障(win10环境集群演示)
      • 2.1、启动集群(三个节点)
      • 2.2、创建3个主分片和2份副本(每个主分片拥有2个副本分片)
      • 2.3、关闭第一个节点
      • 2.4、为什么我们集群状态是 yellow 而不是 green
        • 2.4.1、为什么集群状态是 yellow 而不是 green
        • 2.4.2、重新启动主节点(Node-1001)

一、Elasticsearch集群的安装

1.1、Elasticsearch集群的安装(win10环境)

  • 参考lz此博文链接:https://wwwxz.blog.csdn.net/article/details/128866583?spm=1001.2014.3001.5502

1.2、Elasticsearch集群的安装(linux环境)

  • 参考lz此博文链接:https://wwwxz.blog.csdn.net/article/details/128914484?spm=1001.2014.3001.5502

二、应对故障(win10环境集群演示)

2.1、启动集群(三个节点)

  • 先启动Elasticsearch7.8.0集群的节点1
    在这里插入图片描述
  • 再启动Elasticsearch7.8.0集群的节点2
    在这里插入图片描述
  • 最后启动Elasticsearch7.8.0集群的节点3
    在这里插入图片描述

2.2、创建3个主分片和2份副本(每个主分片拥有2个副本分片)

  • 在包含一个空节点的集群内创建名为 users 的索引,为了演示目的,将分配 3个主分片和2份副本(每个主分片拥有2个副本分片)

    {"settings" : {"number_of_shards" : 3,"number_of_replicas" : 2}
    }
    

    在这里插入图片描述

  • user索引现在拥有 9 个分片:3 个主分片和 6 个副本分片。 这意味着我们可以将集群扩容到 9 个节点,每个节点上一个分片。相比原来 3 个节点时,集群搜索性能可以提升 3 倍。
    在这里插入图片描述

  • 通过 elasticsearch-head 插件查看集群情况。
    在这里插入图片描述

2.3、关闭第一个节点

  • 当关闭第一个节点,这时集群的状态为:关闭了一个节点后的集群。
    在这里插入图片描述

  • 关闭的节点是一个主节点。而集群必须拥有一个主节点来保证正常工作,所以发生的第一件事情就是选举一个新的主节点: Node-1002 。在我们关闭 Node-1001 的同时也失去了主分片 1 和 2 ,并且在缺失主分片的时候索引也不能正常工作。 如果此时来检查集群的状况,我们看到的状态将会为 red:不是所有主分片都在正常工作。
    在这里插入图片描述

  • 在其它节点上存在着这两个主分片的完整副本, 所以新的主节点立即将这些分片在 Node-1002 和 Node-1003 上对应的副本分片提升为主分片, 此时集群的状态将会为yellow。这个提升主分片的过程是瞬间发生的,如同按下一个开关一般。

2.4、为什么我们集群状态是 yellow 而不是 green

2.4.1、为什么集群状态是 yellow 而不是 green

  • 虽然我们拥有所有的三个主分片,但是同时设置了每个主分片需要对应 2 份副本分片,而此
    时只存在一份副本分片,所以集群不能为 green 的状态.

  • 如果我们同样关闭了 Node-1002 ,我们的程序 依然 可以保持在不丢任何数据的情况下运行,因为Node-1003 为每一个分片都保留着一份副本。

2.4.2、重新启动主节点(Node-1001)

  • 在Node-1001主节点的elasticsearch.yml配置文件中添加访问如下Node-1002和Node-1003的配置,如下:

    discovery.seed_hosts: ["localhost:9302", "localhost:9303"]
    

    在这里插入图片描述

  • 重新启动主节点(Node-1001),通过 elasticsearch-head 插件查看集群情况
    在这里插入图片描述

  • 由上图可知,,集群可以将缺失的副本分片再次进行分配,那么集群的状态也将恢复成之前的状态。 如果 Node-1001 依然拥有着之前的分片,它将尝试去重用它们,同时仅从主分片复制发生了修改的数据文件。和之前的集群相比,只是 Master 节点切换了。

http://www.lryc.cn/news/3827.html

相关文章:

  • 【LeetCode】每日一题(2)
  • 软件设计师教程(六)计算机系统知识-操作系统知识
  • Zookeeper下载安装与集群搭建
  • Filter防火墙(8)
  • Spring事务的传播级别——包你一文通
  • C语言(C预编译指令)
  • JMeter 接口测试/并发测试/性能测试
  • 大家心心念念的RocketMQ5.x入门手册来喽
  • (考研湖科大教书匠计算机网络)第四章网络层-第三节1:IPv4地址概述
  • B站Python与OpenCV人脸识别项目超详细记录(对图片、视频、摄像头人脸的检测)
  • 【Node.js实战】一文带你开发博客项目之Koa2重构(实现session、开发路由、联调、日志)
  • 第一部分:简单句——第二章:简单句的补充
  • Spring Security简介
  • Hadoop安装 --- 简易安装Hadoop
  • 俞军产品方法论,消化吸收,要点整理
  • spring注解的开端(@Component替代bean标签的使用)
  • Matlab傅里叶谱方法求解一维波动方程
  • py3中 collections.Counter()函数典型例题
  • Linux部署达梦数据库超详细教程
  • ctfshow 每周大挑战 极限命令执行
  • 使用vue3,vite,less,flask,python从零开始学习硅谷外卖(16-40集)
  • 坚持就是胜利
  • 代码中出现转置 pose (c2w,外参矩阵) 或者转置 intrinsic (内参)矩阵的原因
  • 2023 年腾讯云服务器配置价格表出炉(2核2G/2核4G/4核8G/8核16G、16核32G)
  • 相机出图画面一半清晰,一半模糊的原因是什么?
  • Rust学习入门--【4】Rust 输出到命令行
  • Vector刷写方案—vFlash工具介绍
  • 【阶段总结】《非结构化信息分析应用与实践(筹)》
  • 七大设计原则之迪米特法则应用
  • curl命令用法精简整理