[ElasticSearch2.x]副本分片

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 1. 副本分片到目前为止,我们只讨论了主分片,但是我们还有另一个工具:副本分片。 副本分片的主要目的是为了故障转移(failover),如深入集群生命周期所述:如果持有主分片的节点死亡,则将其副本提升为主分片的角色。

1. 副本分片

到目前为止,我们只讨论了主分片,但是我们还有另一个工具:副本分片。 副本分片的主要目的是为了故障转移(failover),如深入集群生命周期所述:如果持有主分片的节点死亡,则将其副本提升为主分片的角色。

在索引写入时,副本分片做着与主分片相同的工作。新文档首先被索引进主分片然后再同步到其它所有的副本分片。增加副本数并不会增加索引容量。

但是,副本分片可以为读取请求提供帮助。 如果通常情况下,你的索引搜索占很大比重(偏向于查询使用),则可以通过增加副本数量来增加搜索性能,但这样你也会为此付出占用额外的硬件资源的代价。

让我们回到那个具有两个主分片的索引示例中。 我们通过添加第二个节点来增加索引的容量。 添加更多节点不会帮助我们提升索引写入能力,但是我们可以在搜索时通过增加副本分片的数量来充分利用额外硬件资源:

PUT /my_index/_settings
{
  "number_of_replicas": 1
}

拥有两个主分片,另外加上每个主分片的一个副本,我们总共拥有四个分片:每个节点一个,如下图所示: image

2. 通过副本进行负载均衡

搜索性能取决于最慢节点的响应时间,所以尝试均衡所有节点的负载是一个好想法。如果我们只是增加一个节点而不是两个,最终我们会有三个节点,其中两个节点只拥有一个分片,另一个节点拥有两个分片做着两倍的工作( one node doing double the work with two shards)。

我们可以通过调整分片副本数量来平衡这些。通过分配两个副本,最终我们会拥有六个分片,刚好可以平均分给三个节点

PUT /my_index/_settings
{
  "number_of_replicas": 2
}

如下图所示:

 image

作为奖励,我们同时提升了我们的可用性。我们可以容忍丢失两个节点而仍然保持一份完整数据的拷贝。

备注

事实上节点 3 拥有两个副本分片,没有主分片并不重要。副本分片与主分片做着相同的工作;它们只是扮演着略微不同的角色。没有必要确保主分片均匀地分布在所有节点中。


原文连接:https://www.elastic.co/guide/en/elasticsearch/guide/current/replica-shards.html



相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
29天前
|
存储 JSON 监控
大数据-167 ELK Elasticsearch 详细介绍 特点 分片 查询
大数据-167 ELK Elasticsearch 详细介绍 特点 分片 查询
48 4
|
3月前
|
存储 监控 负载均衡
Elasticsearch 集群副本
【8月更文挑战第24天】
65 13
|
3月前
|
存储 负载均衡 监控
Elasticsearch 集群分片
【8月更文挑战第24天】
81 12
|
5月前
|
索引 NoSQL 关系型数据库
【后端面经】【NoSQL】ElasticSearch - 1 -2 Translog + Elasticsearch索引与分片 + 面试准备
【6月更文挑战第15天】Elasticsearch利用Translog确保数据安全,类比MySQL的redo log,它在内存缓冲后记录Translog,每隔5秒持久化磁盘,提供高效且顺序的写入。尽管如此,仍可能最多丢失5秒数据。索引由分片组成,每个分片有主从结构,分布于不同节点以降低故障影响。当主分片失败,主节点会选择新主分片。面试中可讨论公司如何使用Elasticsearch、其性能、索引设计、可用性策略及解决过的挑战。常见问题涉及Elasticsearch的应用场景、问题解决及写入流程。
48 1
【后端面经】【NoSQL】ElasticSearch - 1 -2 Translog + Elasticsearch索引与分片 + 面试准备
|
6月前
|
API 索引
Elasticsearch Index Shard Allocation 索引分片分配策略
Elasticsearch Index Shard Allocation 索引分片分配策略
137 1
|
存储 SQL 自然语言处理
|
存储 SQL 自然语言处理
二.全文检索ElasticSearch经典入门-倒排索引&核心概念&集群概念&分片机制
二.全文检索ElasticSearch经典入门-倒排索引&核心概念&集群概念&分片机制
|
存储 搜索推荐 大数据
大数据数据存储的搜索引擎Elasticsearch的基础概念的副本
随着大数据存储技术的不断升级和企业对数据可靠性的要求越来越高,搜索引擎Elasticsearch的副本机制也变得愈发重要。作为一名阿里云开发者社区的博主,本文将会从大数据存储的角度,深入探讨Elasticsearch的副本机制。
68 0
|
存储 搜索推荐 大数据
大数据数据存储的搜索引擎Elasticsearch的基础概念的分片
当今,随着数据量不断增大和企业对于数据的重视程度不断提高,大数据存储技术已经成为了一种必要的需求。而在具体实践中,搜索引擎Elasticsearch得到了广泛的应用。那么,作为一名阿里云开发者社区的博主,本文将会从大数据存储的角度,深入探讨Elasticsearch的分片。
60 0
|
Java 测试技术 索引
Elasticsearch索引分片的数量及大小分配策略
Elasticsearch索引分片的数量及大小分配策略