Elasticsearch - 什么是 4 节点集群的理想分片配置

Elasticsearch - Whats the ideal Shard config for 4 node cluster

我安装了 4 台服务器和 运行 ES。我希望设置 2 个分片和相应的副本(1 对 1 个分片)。

我的挑战是,我是否需要将 2 个节点作为主节点,将其他 2 个节点作为节点数据?

计划是

Node A acts as Master with 2 Primary Shards = Replica is Node B
Node C acts as Master with 2 Primary Shards = Replica is Node D

这是一个理想的配置还是有更好的选择。另外因为他们都是集群的,当数据被推送到集群时,是否有一个主节点负责在2个主节点之间分配分片?

如果我将所有 4 个节点设为主节点和数据节点,哪个配置设置将使节点 A 成为主分片而节点 B 成为副本,或者哪个配置将告诉节点 A 它的副本是节点 B。节点 C 和 D 相同.

谢谢

这里有两个不同的问题:

  • 集群拓扑

    建议在一个Elasticsearch集群中恰好有3个master节点。您需要它来增加对节点故障的弹性并避免裂脑问题。

    Elasticsearch 节点既可以作为主节点也可以作为数据节点。请注意,如果一个节点被设置为主节点而不是数据节点,则它不能存储任何索引数据(读取分片)。因此,根据您要索引的数据量,您可以将一个、两个、三个甚至四个节点都设置为数据节点。

  • 数据拓扑

    主分片和副本分片的数量再次取决于您要索引的数据量和数据节点的磁盘容量。如果不确定,您可以从 5 个主分片和 1 个副本分片的默认设置开始。

分片只会出现在数据节点中(如果它们也是主节点也没关系)。关于数据节点之间的分片平衡,你不需要担心;主节点会处理它。