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

栏目: 后端 · 发布时间: 7年前

内容简介:下面简单描述一下Elasticsearch横向扩容过程与容错机制对于ES默认创建的索引有10个shard,其中有5个是primary shard,5个是replica shard。在ES内部会自动做一些事情:

下面简单描述一下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、容错机制详解

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

场景描述:

假设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都齐全了。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

HTML5和CSS3实例教程

HTML5和CSS3实例教程

Brian P.Hogan / 李杰、刘晓娜、柳靖、朱嵬 / 人民邮电出版社 / 2012-1 / 39.00元

《HTML5和CSS3实例教程》共分3部分,集中讨论了HTML5和CSS3规范及其技术的使用方法。首先是规范概述,介绍了新的结构化标签、表单域及其功能(包括自动聚焦功能和占位文本)和CSS3的新选择器。接下来是HTML对视频和音频的支持,讲述了画布上的图形绘制及CSS阴影、渐变和变换的使用方法。最后介绍使用HTML5的客户端特性(包括WebStorage、WebSQLDatabases以及离线支持......一起来看看 《HTML5和CSS3实例教程》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换