苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 8246|回复: 3

[Elasticsearch] 67-Elasticsearch扩容的单元

[复制链接]
发表于 2019-1-14 09:15:34 | 显示全部楼层 |阅读模式
扩容的单元

在 动态更新索引,我们介绍了一个分片即一个 Lucene 索引 ,一个 Elasticsearch 索引即一系列分片的集合。 你的应用程序与索引进行交互,Elasticsearch 帮助你将请求路由至相应的分片。

一个分片即为 扩容的单元 。 一个最小的索引拥有一个分片。 这可能已经完全满足你的需求了 — 单个分片即可存储大量的数据 — 但这限制了你的可扩展性。

想象一下我们的集群由一个节点组成,在集群内我们拥有一个索引,这个索引只含一个分片:

[C#] 纯文本查看 复制代码
PUT /my_index

{

  "settings": {

    "number_of_shards":   1, 

    "number_of_replicas": 0

  }

}



创建一个拥有 1 主分片 0 个副本分片的索引.

这个设置值也许很小,但它满足我们当前的需求而且运行代价低。


当前我们只讨论 主 分片。我们将在 副本分片 讨论 副本 分片。

在美好的一天,互联网发现了我们,一个节点再也承受不了我们的流量。 我们决定根据 图 49 “一个只有一个分片的索引无扩容因子” 添加一个节点。这将会发生什么呢?

一个只有一个分片的索引无扩容因子
elas_4401.png
一个只有一个分片的索引无扩容因子

答案是:什么都不会发生。因为我们只有一个分片,已经没有什么可以放在第二个节点上的了。 我们不能增加索引的分片数因为它是 route documents to shards 算法中的重要元素:

[C#] 纯文本查看 复制代码
shard = hash(routing) % number_of_primary_shards

我们当前的选择只有一个就是将数据重新索引至一个拥有更多分片的一个更大的索引,但这样做将消耗的时间是我们无法提供的。 通过事先规划,我们可以使用 预分配 的方式来完全避免这个问题。



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2019-1-14 09:32:20 | 显示全部楼层
我只是路过打酱油的。
发表于 2019-1-14 19:47:51 | 显示全部楼层
我只是路过打酱油的。
发表于 2019-1-14 20:58:12 | 显示全部楼层
强烈支持楼主ing……
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-12-27 16:11

© 2014-2021

快速回复 返回顶部 返回列表