为什么在再次启动时,第二个节点上的分片是否成为主分片?

时间:2017-03-17 08:00:00

标签: elasticsearch cluster-computing replication sharding

我已配置了两个节点群集,并使用index4 shards创建了1 replica enter image description here

Elastic在每个节点上创建了2个主分片,这是它从头部插件看起来的样子。 shard 1shard 3node 1(stephen1c7)的主要内容,而shard 0 shard 2node 2(stephen2c7)的主要内容{/ 1}}

enter image description here

关闭一个节点

现在我已关闭node 2(stephen2c7)以查看node 1(stephen1c7)上的所有分片是否成为主分片。是的,所有分片现在都是主要的。

enter image description here

UP关闭节点

现在我再次启动Node 2(stephen2c7)以查看此节点上的任何分片是否为主要分片。但令人惊讶的是,此节点上没有碎片成为主要碎片。等了很长时间,但Node 2仍然没有碎片是主要的。 为什么这样?

enter image description here

是否有任何配置可以在节点启动后再次将分片设为主?

提前致谢!

1 个答案:

答案 0 :(得分:1)

鉴于this postthis one(尽管稍微过时),在群集中平衡主分片和副本分片似乎不是Elastic群集中的优先级。如您所见,Elastic看到了副本和主要分片,因此群集的状态似乎令人满意。

我建议您查看shard balancing heuristic并使用这些值,直到获得满意的结果。 (正如ElasticSearch的情况一样,根据您的架构设计选择,测试几个参数将产生最佳配置。)

请注意,如果您开始使用分片平衡启发式,如果您同时使用shard filteringforced awareness

,则可能无法获得良好的效果