elasticsearch - 如何控制主分片和副本分片的位置?

所以我有两个 zonesfastslow

我希望确保主分片位于 fast 节点中,而副本位于 slow 节点中。

我有以下集群设置:

cluster.routing.allocation.awareness.attributes: zone
cluster.routing.allocation.awareness.force.zone.values: fast,slow

如果我在索引级别添加以下内容:

"index.routing.allocation.require.zone": "fast"

它只会将原色分配给 fast。然后我可以厚脸皮并执行以下操作:

"index.routing.allocation.require.zone": "fast,slow"

它会根据需要将副本分配给 slow...。

但是,如果我停止 fast 节点,它会将所有主共享分配给 slow 节点。当 fast 节点重新联机时,它们被分配为副本。

所以问题是。如何确保 fast 节点在针对给定索引联机时被标记为主节点?

回答1

虽然你的行为可能会暂时得到你想要的,但你不能保证这会一直发生

分配是在索引级别上完成的,无论它是主分片还是副本分片

相似文章

apache-kafka - Kafka replication 问题

我正在使用3代理kafka。如果我停止第三个节点:没问题,我可以从节点1或2消耗LOGS。如果我停止第二个节点:没问题,我可以从节点1或3消耗LOGS。如果我停止第一个节点:我不是什么都能吃。当我重新...