MST

星途 面试题库

面试题:ElasticSearch分片故障恢复机制中的数据同步方式

在ElasticSearch分片的故障恢复机制中,新恢复的分片如何与其他正常分片进行数据同步?请简述主要的同步方式和流程。
15.8万 热度难度
数据库ElasticSearch

知识考点

AI 面试

面试题答案

一键面试

主要同步方式

  1. 全量复制:新恢复的分片从主分片完整复制所有数据。这适用于新加入集群或数据量较小的情况,主分片将所有文档数据发送给新恢复分片。
  2. 增量复制:在全量复制基础上,对于全量复制后产生的增量数据(如新增、更新、删除操作),通过复制这些操作日志(通常是事务日志)来同步。这样可减少数据传输量,提升效率。

同步流程

  1. 分片分配:当发生故障导致分片需要恢复时,Elasticsearch的Master节点会选择一个合适的节点来承载新恢复的分片。
  2. 初始化连接:新恢复分片所在节点与主分片所在节点建立连接,告知主分片自己需要同步数据。
  3. 全量复制阶段
    • 主分片开始向新恢复分片发送文档数据。主分片会按一定顺序(如文档ID顺序等),批量将文档数据发送给新恢复分片。
    • 新恢复分片接收数据,并将其写入本地存储,构建自己的索引结构。
  4. 增量复制阶段
    • 在全量复制过程中及之后,主分片会记录对数据的所有修改操作到事务日志中。
    • 全量复制完成后,主分片将事务日志中的增量操作发送给新恢复分片。
    • 新恢复分片接收并应用这些增量操作,确保与主分片的数据一致性。
  5. 完成同步:新恢复分片应用完所有增量操作后,向主分片发送确认消息,表明数据同步完成,此时新恢复分片可参与正常的读写操作。