12.横向扩容 、提升容错性

主要知识点:

  • 横向扩容后shard的自动分配及自动负载均衡
  • 扩容极限及超过扩容极限后的处理
  • 不同情况下的容错。

1、横向扩容

当扩容时,es会自动进行负载均衡,也就是会自动的分配primary shard 和replica shard 到新增加的node中。从而保证:每个node上有大致相同的shard数量(primary shard 和replica shard 一定是要存放在不同的node中的)此时,每个node有更少的shard,因此每个shard 可以占用这个node更多的资源(IO/CPU/Memory等),因此每个shard性能更好。

2、扩容极限及容错

1.扩容极限是node数量等于shard数量(node=shard)

3台机器的情况,(1)3 primary+3 replica ,容错一台,因为宕机一台后还有两个node上有完整数据。此时有两个primary shard 另一个shard 只有replica shard ,但是数据仍是完整的,如果此时动态修改relica的数量,3 primar+6 replica,此时就可以容错2台宕机,但是每个shard的资源更少。

2.超出扩容极限,假如扩容到9台机器,些时就可以动态修改replica数量,9个shard(3primary,6 replica)

3、总结:

综合起来看,一方面要理解扩容的原理,怎么扩容,怎么提升系统整体吞吐量;另一方面要考虑到系统的容错性,让尽可能多的服务器宕机的情况下保证数据不丢失

原文地址:https://www.cnblogs.com/liuqianli/p/8434471.html

时间: 2024-08-30 07:49:00

12.横向扩容 、提升容错性的相关文章

Elasticsearch 横向扩容以及容错机制

写在前面的话:读书破万卷,编码如有神-------------------------------------------------------------------- 参考内容: <Elasticsearch顶尖高手系列-快速入门篇>,中华石杉 -------------------------------------------------------------------- 主要内容包括: 横向扩容 容错机制 ------------------------------------

Docker Swarm 横向扩容/收缩简单使用

Swarm 是 Docker 官方提供的一款集群管理工具,其主要作用是把若干台 Docker 主机抽象为一个整体,并且通过一个入口统一管理这些 Docker 主机上的各种 Docker 资源. Swarm 和 Kubernetes 比较类似,但是更加轻,具有的功能也较 kubernetes 更少一些. Swarm 横向扩容准备服务器: swarm1(master):192.168.75.191 swarm2(node1):192.168.75.192 swarm3(node2):192.168.

你不知道的JS系列 ( 12 ) - 声明提升

我们直觉上会认为 JavaScript 代码在执行时是由上到下一行一行执行的.但实际这并不完全正确 a = 2; var a; console.log(a); 这里可能会认为是 undefined,因为 var a 声明在 a = 2 之后.实际输出了 2. console.log(a); var a = 2; 鉴于上面的代码可能会是 2,还有人认为可能会报异常 ReferenceError,不幸这两种猜测都不对,输出来的是 undefined 要搞明白这个,要明白编译的原理,在编译阶段中的一部

fastdfs增加path横向扩容v5.11

关注点: 1.规划好新的挂载点. ##目前环境的规则为/home/data,/home/data2 2.集群内的每个节点的path数(store_path_count)必须一致. 3.每个集群节点的path路径和大小最好一致. 4.注意做好配置文件和/home/data/fastdfs/data/下隐藏文件的备份. 操作步骤: 1.#fdisk -l //查看新增硬盘 2.#mkfs.ext4 /dev/xxxxx //对相应盘符进行格式化 3.#vi /etc/fstab //修改自动挂载配置

Elasticseach的横向扩展、容错机制(3)

1.横向扩容过程,如何超出扩容极限,以及如何提升容错性 (1)primary&replica自动负载均衡,6个shard,3 primary,3 replica (2)每个node有更少的shard,IO/CPU/Memory资源给每个shard分配更多,每个shard性能更好 (3)扩容的极限,6个shard(3 primary,3 replica),最多扩容到6台机器,每个shard可以占用单台服务器的所有资源,性能最好 (4)超出扩容极限,动态修改replica数量,9个shard(3pr

非科班出身的码农自述:我是如何在几周内从12万美元年薪升至25万美元的

Haseeb Qureshi 是Airbnb 的一名工程人员,在上个月他吸引了众多目光,因为他在博文中解释了他是如何在仅仅数周之内通过谈判将年薪由12万美元提升到25万美元的. 他有一个十分有趣的背景——他之前是一位有着英语学位的专业扑克玩家.尽管被最初申请的20份工作拒绝,但是Qureshi 通过学习如何推销自己的方式奋力向前,最终获得了8个工作机会,这其中就包括谷歌.优步和美国著名商户点评网站Yelp. 这个月早些时候,Qureshi更新了博文,博文的内容是关于如何获得面试机会和找到理想工作

分布式文件系统FastDFS动态扩容

当用户量越来越大,则集群中某个group总会到达其极限,这时就得扩展集群的容量了. FastDFS的扩容分为对group纵向扩容和横向扩容 纵向扩容 指在同一个group组中增加服务器,实现数据冗余,数据备份.同一个group中最大容量取决于最小的storage的存储容量.因此如果还想继续使用此group,则需要对此group对应的所有服务器挂载同样容量的磁盘,指定store_path1--,但这样做的话成本相当的高,不推荐. 横向扩容是通过集群实现,指新增一个group,增加整个FastDFS

JavaScript 预编译(变量提升和函数提升的原理)

本文部分内容转自https://www.cnblogs.com/CBDoctor/p/3745246.html 1.变量提升 1 console.log(global); // undefined 2 var global = 'global'; 3 console.log(global); // global 4 5 function fn () { 6 console.log(a); // undefined 7 var a = 'aaa'; 8 console.log(a); // aaa

k8s-自动横向伸缩pod 与节点

简述 我们可以通过调高ReplicationController. ReplicaSet. Deployment等可伸缩资源的rep让cas字段, 来手动实现pod中应用的横向扩容. 我们也可以通过增加pod容器的资源请求和限制来纵向扩容pod (尽管目前该操作只能在pod创建时, 而非运行时进行). 虽然如果你能预先知道负载何时会飘升, 或者如果负载的变化是较长时间内逐渐发生的, 手动扩容也是可以接受的, 但指望靠人工干预来处理突发而不可预测的流量增长, 仍然不够理想. Kubemetes可以