如何检查所有分片是否从特定的 elasticsearch 节点移动?
How to check that all shards are moved from a specific elasticsearch node?
我正在尝试将所有分片(主要和副本)从一个特定的 elasticsearch 节点移动到其他节点。
在做一些研究时,我了解到 Cluster-level shard allocation filtering 我可以在其中指定在分配分片时要忽略的节点名称。
PUT _cluster/settings
{
"transient" : {
"cluster.routing.allocation.exclude._name" : "data-node-1"
}
}
我的问题是,
- 如果我动态更新设置,分片会自动从我排除的节点移动到其他节点吗?
- 如何检查并确保所有分片都从特定节点移出?
是的,您的碎片将自动移动,如果可能的话:
Shards are only relocated if it is possible to do so without breaking another routing constraint, such as never allocating a primary and replica shard on the same node.
更多信息here
您可以使用shards api查看所有碎片的位置。或者,如果您可以访问 kibana 仪表板,则可以在最底部的分片或索引的监控选项卡中看到分片分配。
我正在尝试将所有分片(主要和副本)从一个特定的 elasticsearch 节点移动到其他节点。
在做一些研究时,我了解到 Cluster-level shard allocation filtering 我可以在其中指定在分配分片时要忽略的节点名称。
PUT _cluster/settings
{
"transient" : {
"cluster.routing.allocation.exclude._name" : "data-node-1"
}
}
我的问题是,
- 如果我动态更新设置,分片会自动从我排除的节点移动到其他节点吗?
- 如何检查并确保所有分片都从特定节点移出?
是的,您的碎片将自动移动,如果可能的话:
Shards are only relocated if it is possible to do so without breaking another routing constraint, such as never allocating a primary and replica shard on the same node.
更多信息here
您可以使用shards api查看所有碎片的位置。或者,如果您可以访问 kibana 仪表板,则可以在最底部的分片或索引的监控选项卡中看到分片分配。