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

时间:2015-02-17 16:40:50

标签: elasticsearch

我安装了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

这是一个理想的配置还是有更好的选择。此外,由于它们都是集群的,当数据被推送到集群时,主节点中的任何一个都会负责在两个主节点之间分配分片吗?

如果我将所有4个节点都设置为主节点和数据,那么配置设置将使节点A主要分片和节点B成为副本,或者哪个配置将告诉节点A其副本是节点B.对于节点C& d。

由于

1 个答案:

答案 0 :(得分:3)

这里有两个不同的问题:

  • 群集拓扑

    建议在Elasticsearch集群中准确拥有3个主节点。您需要这样做以增加对节点故障的弹性并避免裂脑问题。

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

  • 数据拓扑

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

Shards只会出现在数据节点中(如果它们也是主节点则无关紧要)。关于平衡数据节点之间的分片,您不必担心它;主节点将负责它。