Teng's blog Teng's blog
首页
Java
H5前端
GitHub (opens new window)
首页
Java
H5前端
GitHub (opens new window)
  • 认知

  • 入门

  • 环境

  • 进阶

    • 核心概念
    • 系统架构
    • 单节点集群
    • 故障转移
    • 水平扩容
    • 应对故障
    • 路由计算
    • 分片控制
    • 写操作流程
    • 数据读流程
    • 更新操作流程
    • 批量操作流程
    • 倒排索引
    • 文档搜索
    • 文档刷新-刷写-合并
    • 文档分析-分词器
    • 文档控制
    • 文档展示-kibana
  • 框架集成

  • 优化

  • 面试题

  • Database-Elasticsearch
  • 进阶
Shetengteng
2022-01-29

故障转移

当集群中只有一个节点在运行时,意味着会有一个单点故障问题——没有冗余,如何处理

  • 只需再启动一个节点即可防止数据丢失
  • 在同一台机器上启动了第二个节点时,只要它和第一个节点有同样的 cluster.name 配置,它就会自动发现集群并加入到其中
  • 注意
    • 在不同机器上启动节点的时候,为了加入到同一集群,需要配置一个可连接到的单播主机列表。之所以配置为使用单播发现,以防止节点无意中加入集群
    • 只有在同一台机器上运行的节点才会自动组成集群

本示例在windows上进行,由于是一台设备启动多个服务,因此会自动组成集群

如果启动了第二个节点,集群将会拥有两个节点 : 所有主分片和副本分片都已被分配

通过 elasticsearch-head 插件查看集群情况

  • 集群健康值 green( 3 of 6 ):表示所有 6 个分片(包括 3 个主分片和 3 个副本分片)都在正常运行
  • 加粗框1,2,3表示主分片,而非加粗框表示副本分片
  • 3 个主分片正常
  • 第二个节点加入到集群后, 3 个副本分片将会分配到这个节点上——每 个主分片对应一个副本分片
    • 当集群内任何一个节点出现问题时,数据都完好无损
    • 所有新近被索引的文档都将会保存在主分片上,然后被并行的复制到对应的副本分片上
    • 既可以从主分片又可以从副本分片上获得文档

Last Updated: 2022/04/10, 13:57:31
单节点集群
水平扩容

← 单节点集群 水平扩容→

Theme by Vdoing | Copyright © 2021-2022 Shetengteng | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式