es 的总副本数是主分片+副本分片吗?

最近在使用 elasticsearch

有一个疑问:『总的副本数』是 主分片+副本分片 吗?

图片.png

比如我创建一个 index 的时候,没有指定 number_of_replicas

按照默认的创建之后,就是如图所示:主分片为 1,副本分片为 1

所以,我的一个 doc 其实在 es 中是有两份的是吗?


破案了,number_of_replicas 的默认值是 1

图片.png

我有一个 『三节点的 es 集群』,之前创建 index 的时候,没有指定 number_of_replicas

所以当时我就很奇怪,从下面的曲线看,为什么有一个节点在偷懒!

图片.png

红色竖线是我加的

现在明白了!因为有一个主分片,在加一个副本分片,一共有两个。所以只能利用两个 node

但是我还是很奇怪,为什么副本分片都是副本到一台机器,而不是两台机器雨露均沾,呈现出5:2.5:2.5

一个合理的分布式系统,在该情况下,应该呈现出 5:2.5:2.5,而不是 5:5:0 吧!es 的 副本分片落到那个 node 是固定的吗?
阅读 2k
1 个回答

因为集群里面最小能管理的单元就是分片呀。
一个分片不能分成两个。

就像k8s集群里面,一个deployment关联了2个pod,你不能把两个pod分配到三个节点上。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进