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



所以我有两个zones:fastslow

我希望确保主分片在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节点在给定索引在线时被标记为主节点?

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

分配是在索引级完成的,无论它是主分片还是复制分片

最新更新