elasticsearch集群原理————学习笔记(三)

首先,es天生就是分布式的,用集群来均衡请求,多个结点协同工作,会大大的提升搜索速度。
es的每一个文档,文档中的每一个数据都是一个索引,所以当我们进行全文搜索,统计搜索的时候,es的速度,也能做一些智能分析。

什么是集群

虽然官网也有一些比较官方的定义,但是在我的理解,集群(cluster)=多个节点(node)的集合

集群 cluster

集群是一群节点的集合,它们共同承担数据和负载的压力。当有节点加入集群中或者从集群中移除节点时,集群将会重新平均分布所有的数据。

节点 node

一个运行中的 Elasticsearch 实例称为一个节点。
每个集群都有一个主节点,它将负责管理集群范围内的所有变更,例如增加、删除索引,或者增加、删除节点等。
主节点并不需要涉及到文档级别的变更和搜索等操作,所以当集群只拥有一个主节点的情况下,即使流量的增加它也不会成为瓶颈。
每个节点都知道任意文档所处的位置,并且能够将我们的请求直接转发到存储我们所需文档的节点。 无论我们将请求发送到哪个节点,它都能负责从各个包含我们所需文档的节点收集回数据,并将最终结果返回给客户端。

分片 shard

Elasticsearch 是利用分片将数据分发到集群内各处的。分片是数据的容器,文档保存在分片内,分片又被分配到集群内的各个节点里。 当你的集群规模扩大或者缩小时, Elasticsearch 会自动的在各节点中迁移分片,使得数据仍然均匀分布在集群里。

来自: Elasticsearch权威指南.

在这里插入图片描述

集群的容错

主片区和副本片区

片区是数据的容器,索引内任意一个文档需要先储存在一个主片区,然后拷贝到副本片区,为什么需要副本片区呢?
1.例如有三个副本片区,一个主片区,那么可用的节点数就是4,就像有4个车间来处理你的索引请求,那么返回数据的速度就会提高。(个人是这么理解的)。
2.还有一个作用,副本分片作为数据备份,当硬件故障时,可以保护数据不丢失。

在这里插入图片描述

水平扩容

增加节点,为了分散负载而对分片进行重新分配
一个分片默认拥有一个副本分片,更多的分片以为着更多的节点进行可以用于检索,分片越多,节点越多,也将拥有越高的吞吐量。

通过增加节点

在这里插入图片描述
以前3个分片+3个副本分片,在两个节点工作,现在增加1个节点,有三个节点可以搜索数据,则搜索性能提升

增加副本数量

在这里插入图片描述
以前只有1份副本,现在有2份副本,节点数量也增加了,并且如果两个节点数据都挂起,还剩一个正常节点能够工作。
不要有点浪费储存空间啦啦啦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值