分片及副本原理

本文详细介绍了 Elasticsearch 的分片原理,指出每个分片是一个Lucene实例,并讨论了副本作为主分片备份的重要性。文章还说明了如何设置副本数量,并强调主分片数量在索引创建后不可更改。此外,解释了水平扩展的概念,即通过添加更多节点来应对数据增长,ES会自动重新分配分片和副本,以实现负载均衡。最后,文章提醒读者理解分片和副本对于深入学习ES的基础至关重要。
摘要由CSDN通过智能技术生成

分片原理

分片组成一个 ES 实例,这个 ES 实例可以维护一个或者多个索引(数据库)。

前文提到过,ES 是基于 Lucene 开发的,实际上一个分片就是一个 Lucene 实例。在创建某个索引之前,需要指定分配这个索引多少个索引?多少个副本?副本就这这个分片的备胎,当分片挂掉了,它的副本就会随时准备上位,因此副本也是个分片只不过不负责主要功能。

不仅仅如此,ES 如何能够提高数据吞吐量呢?增加副本个数就是个不错的选择,比如说读写分离,读数据的时候从副本上读,写数据的时候只用主分片去写。需要注意的是,主分片的个数实在建立索引之前要确定,建立完索引之后,是不能够进行修改的,除非重新建索引。因此在建索引之前,一定要合理的配置分片个数,副本个数的话后期是可以改动的。

如何设置副本

启动 2 个 ES 节点,配置分片个数为 3,副本个数为 1。如下图,蓝色的代表主分片,绿色的是副本,仔细一点不难发现,分片与其副本不在同一个节点内。这是非常合理的,因为副本本来就是主分片的备胎,当主分片节点挂了,另外一个节点的副本将会充当主分片,如果它们在同一个节点内,副本将发挥不到作用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值