elasticsearch:3节点集群中的正确配置,每个节点都有索引的完整副本吗?

时间:2015-10-29 16:19:10

标签: elasticsearch

CentOS上的ElasticSearch 1.7.2的3节点集群

在传统的集群透视图中,对于3节点环境,该方法是允许任何一个节点发生故障,并且集群仍然可以运行。

默认的elasticsearch.yml反映了这一点,一切都很好。

在我们的环境中,3个节点,我们希望任何一个节点能够独立运行,即使其他节点都丢失也能运行。

我们相信以下成就:

index.number_of_replicas: 2             # in 3-node cluster, every node will have p or r copy of every shard 
discovery.zen.minimum_master_nodes: 2   # reqd for 3 node env, but what happens when only 1 node survives?

对上述内容的任何补充或更改?

3 个答案:

答案 0 :(得分:0)

我们还有三个节点集群,所有节点都能够成为主节点。我想除了最小的主节点,rest配置保持默认值相同。正如预防措辞一样,当集群只有一个节点工作时,该节点上没有可用的副本。在索引数据时尽量不要在生产中出现这种情况,否则如果数据集很大,那么一旦其他节点启动,就需要花时间来传播所有更改和重新分配分片。欢呼声。

答案 1 :(得分:0)

答案是:

index.number_of_replicas: 2

在3节点系统上,这意味着每个节点都有每个分片的副本,因此任何1个节点都可以独立/拥有所有数据。

答案 2 :(得分:-1)

分布式数据库旨在抵御故障,但每个节点并不是独立的。可以设置ES使得每个节点具有来自每个索引的100%的数据,但这意味着额外的副本和更少的分片。这两者都会导致集群性能下降。

如果你真的担心你的两个节点会同时关闭,我建议添加第四个数据节点而不是设置它,这样第三个节点就可以独立存在。