在 Mapping 里面,将 dynamic 参数设置成 strict 可以拒绝索引包含未知字段的文档。 此条 Tips 由 medcl 贡献。

我是否曲解了Elasticsearch?

Elasticsearch | 作者 andy chen | 发布于2018年07月24日 | 阅读数:2875

我曲解了Elasticsearch,我以为是每个节点可以存放不同的数据,哈哈哈?。既然不是这样,引发了我另一个思考,说是Elasticsearch能处理TB以及PB的数据,这样的话,一台存放PB级数据的机器该是个多“可怕”的配置。每个节点的数据都一样,这是真正意义的分布式吗?我觉得按Elasticsearch的概念只是利用了节点的硬件资源。我真心希望我的理解是错的,这样我将欢欣鼓舞。
 
问题就一个:
1.  Elasticsearch的每个数据节点的数据都是一样吗?如果不是,请给个相关文章链接。
 
已邀请:

rochy - rochy_he

赞同来自: andy chen 端小强

很显然不一样呀,假设你有两台机器构建的集群,你建立一个索引,设置分片数为2,复制分片数为0。
 
很明显可以看到两个节点各有一个分片,也就是说全部的数据分散在这两个节点。
 
如果你想存储TB或者PB级别的数据,很显然你需要多个节点来分担整体压力,
除非你设置的复制分片数=(总机器数-1),否则各个节点的数据肯定不会完全一致。

端小强 - 90后Java

赞同来自: andy chen

哈哈,你说的这种情况,只有在节点数=primary shard数量+ replica shard 数量时,才会出现。

face2south

赞同来自: andy chen

 数据分片:通过每个节点承载一部分数据来支撑海量数据。
数据备份:通过冗余来避免单点故障带来的不可用。

andy chen

赞同来自:

回头我抽时间验证一下!!  谢谢大家 !

要回复问题请先登录注册