考虑 elasticsearch.yml 中的以下设置
gateway.recover_after_data_nodes: 3
gateway.recover_after_time: 5m
gateway.expected_data_nodes: 3
当前设置:比如说,我有 3 个数据节点。现在,如果我决定重新启动数据节点(由于设置的微小变化),恢复将在节点重新启动后立即开始,按照预期的_data_nodes 设置。将有许多未分配的分片,它们将根据其包含的数据缓慢分配。
为了避免这种情况,有没有办法将所有未分配的分片分配给特定节点?(在我的情况下是重新启动的节点),一旦完成,ES 应该接管重新平衡。
主要是我想避免集群状态从黄色到绿色的严重时间延迟。(在我的情况下,它在几个小时的范围内)
我可以为此目的使用集群重新路由 api 吗?
或者是否有任何其他 api 可以一次性将所有未分配的分片转移到特定节点?