水平扩容过程

  1. 扩容后 primary shardreplica shard 会自动的负载均衡。
  2. 扩容后每一个节点上的 shard 会减少,那么分配给每个 shard 的CPU、内存、IO资源会更多,性能将会提高。
    Elasticsearch 水平扩容过程与容错机制
  3. 扩容的极限,如果有6个 shard,扩容的极限就是6个节点,每个节点上一个 shard,如果想超出扩容的极限,比如说扩容到9个节点,那么可以增加 replica shard 的个数。
    Elasticsearch 水平扩容过程与容错机制

  4. 6个 shard,3个节点,最多能承受几个节点所在的服务器宕机?(容错性)任何一台服务器宕机都会丢失部分数据。为了提高容错性,增加 shard 的个数:9个 shard(3个 primary shard ,6个 replica shard ),这样就可以容忍最多两台服务器宕机。
    Elasticsearch 水平扩容过程与容错机制

  5. 总结:扩容是为了提高系统的吞吐量,同时也要考虑容错性,也就是在尽可能多的服务器宕机的情况下,还可以保证数据不丢失。

Elasticsearch的容错机制

以9个 shard,3个 node 为例:
情况:如果 master node(主节点 ) 宕机,此时不是所有的 primary shard(主分片) 都是 Avtive Status(活跃状态),所以此时的集群状态是 red
容错处理

  1. 第一步:选择一台服务器作为 master(选举产生)
    Elasticsearch 水平扩容过程与容错机制
  2. 第二步:新 master 会把挂掉的 primary shard 的某个 replica shard 提升为 primary shard ,此时集群状态为 yellow。因为少了一个 replica shard ,并不是所有的 replica shard 都是 Avtive Status (即并不是所有的副本分片都是活跃的)。
  3. 第三步:重启故障机,新 master 会把所有的副本都复制一份到该节点上(同步一下宕机后发生的修改),测试集群状态将变为 green,因为此时所有的 primary shardreplica shard 都是 Avtive Status
    Elasticsearch 水平扩容过程与容错机制

相关文章:

  • 2022-12-23
  • 2021-09-04
  • 2021-08-22
  • 2021-12-30
  • 2021-12-21
  • 2021-04-06
  • 2021-04-27
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-06-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-04-12
相关资源
相似解决方案