elasticsearch - 如何检查所有碎片是否已从特定的Elasticsearch节点移走?

标签 elasticsearch data-migration kubernetes-cluster

我正在尝试将所有碎片(主要和副本)从一个特定的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 - 如何检查所有碎片是否已从特定的Elasticsearch节点移走?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60545706/

    相关文章:

    elasticsearch - 下面的 Elasticsearch 查询中的错误结果

    mysql - 是否有运行数据库迁移的指南?

    kubernetes - 有没有办法获取 Kubernetes 集群的 UID?

    kubernetes - 要在 namespace 中获取所有Pod,然后使用其余API/客户端库获取每个Pod的图像版本

    elasticsearch - 安装mobz/elasticsearch-head失败,原因: failed to download out of all possible locations. ..,使用-verbose获取详细信息

    elasticsearch - 从ES中的日期字段获取时间戳

    database - 需要将应用程序从 Blackfish 迁移到 Firebird

    cassandra - Kubernetes集群架构

    elasticsearch - 聚集的扫描结果

    python - 如何通过 ZMI 在基于敏捷的内容类型上设置富文本字段?