资讯专栏INFORMATION COLUMN

elasticsearch学习笔记(十)——Elasticsearch横向扩容过程与容错机制

OpenDigg / 679人阅读

摘要:下面简单描述一下横向扩容过程与容错机制横向扩容过程对于默认创建的索引有个其中有个是,个是。在内部会自动做一些事情会自动负载均衡。而且该会使用之前已有的数据,只是同步一下宕机之后发生过的修改。的状态变为,因为和都齐全了。

下面简单描述一下Elasticsearch横向扩容过程与容错机制

1、横向扩容过程

对于ES默认创建的索引有10个shard,其中有5个是primary shard,5个是replica shard。
在ES内部会自动做一些事情:
(1)primary shard & replica shard会自动负载均衡。均匀的分布在各个节点
(2)保持每个节点node拥有更少的shard,IO/CPU/Memory资源给每个shard分配更多,使得每个shard性能更好
(3)Elasticsearch的扩容极限,由于有10个shard(5个primary shard,5个replica shard),所以最多可以扩容到6台机器,此时每个shard可以占用单台服务器的所有资源,性能最好。
(4)如果超出扩容的极限,可以动态的修改replica数量,比如将replica修改为2,那么就有15个分片(5个primary shard,10个replica shard),此时就可以扩容到15台机器,比之前拥有更高的读吞吐量。
(5)如果只有5台机器,15个分片(5个primary shard,10个replica shard),每个shard占用的资源会更少,但是容错性会比10个分片的要好,此时最多可以容纳2台机器宕机,而10个分片只能容纳1台机器宕机。
这些知识点告诉我们,一方面扩容应该怎么去扩,怎么去提升系统整体的吞吐量;另一方面还要考虑到系统的容错性,怎样提高系统的容错性,让尽可能多的服务器宕机,不会造成数据的丢失。

2、容错机制详解

场景描述:
假设master node1节点宕机的一瞬间,P0,P1,P2,P3,P4这些primary shard就没了,也就是说此时就不是active status
下面是ES做的容错的一个过程:
第一步:master选举,自动选择另一台node作为新的master节点,承担起master的责任来
第二步:新的master node2将丢失掉primary shard的某个replica shard提升为primary shard。此时cluster status就会变为yellow,因为primary shard全部变成active了,但是少了一个replica shard,所以就不是所有的replica shard都是active的
第三步:重启故障的node,新的master会将缺失的副本都copy一份到该node上去。而且该node会使用之前已有的shard数据,只是同步一下宕机之后发生过的修改。cluster的状态变为green,因为primary shard和replica shard都齐全了。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/34426.html

相关文章

  • elasticsearch学习笔记(八)——剖析Elasticsearch的基础分布式架构

    摘要:下面来一步一步分析的基础分布式架构对复杂分布式机制的透明隐藏特性是一套分布式系统,它隐藏了复杂的分布式机制,可以应对大数据。等等的垂直扩容与水平扩容垂直扩容给机器升级配置,或是采购更强大的服务器。这种方式成本会非常高,而且会有瓶颈。 下面来一步一步分析Elasticsearch的基础分布式架构 1、Elasticsearch对复杂分布式机制的透明隐藏特性 Elasticsearch是一...

    zhkai 评论0 收藏0
  • elasticsearch学习笔记(九)——shard&replica机制以及ES集群节点的

    摘要:和知识归纳梳理一个包含多个每个都是一个最小工作单元,承载部分数据,可以说就是一个实例,拥有完整的建立索引和处理请求的能力每当集群增加节点时,会自动在中实现负载均衡对于和,每个肯定只存在于某一个以及其对应的中,不可能存在于多个中时的副本,主要 1、shard和replica知识归纳梳理 (1)一个index包含多个shard(2)每个shard都是一个最小工作单元,承载部分数据,可以说就...

    ztyzz 评论0 收藏0
  • 干货:分布式系统学习笔记

    摘要:即服务不能无响应,或出错分区的容忍性,这里的分区不是指数据分布式存储中的分区。假设一个分布式系统中,有两个节点,处于分区状态。在大多数的分布式系统设计中,人们多会选择满足两点特性。为了解决最终的一致性,这就涉及到分布式事务。 showImg(https://segmentfault.com/img/bV7kd4?w=500&h=253); 一、分布式的两大场景 数据存储的分布式 服务的...

    刘德刚 评论0 收藏0
  • 干货:分布式系统学习笔记

    摘要:即服务不能无响应,或出错分区的容忍性,这里的分区不是指数据分布式存储中的分区。假设一个分布式系统中,有两个节点,处于分区状态。在大多数的分布式系统设计中,人们多会选择满足两点特性。为了解决最终的一致性,这就涉及到分布式事务。 showImg(https://segmentfault.com/img/bV7kd4?w=500&h=253); 一、分布式的两大场景 数据存储的分布式 服务的...

    EsgynChina 评论0 收藏0
  • Solr vs. Elasticsearch谁是开源搜索引擎王者

    摘要:本文,我们将比较业界两个最流行的开源搜索引擎,和。关于基于业界大名鼎鼎的开源搜索引擎,更多的是一个软件包,还不能称之为搜索引擎,而则完成对的封装,是一个真正意义上的搜索引擎框架。 当前是云计算和数据快速增长的时代,今天的应用程序正以PB级和ZB级的速度生产数据,但人们依然在不停的追求更高更快的性能需求。随着数据的堆积,如何快速有效的搜索这些数据,成为对后端服务的挑战。本文,我们将比较业...

    freewolf 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<