分片分配、重新分配和恢复
编辑分片分配、重新分配和恢复
编辑每个 Elasticsearch 中的索引都分为一个或多个分片。索引中的每个文档都属于单个分片。
集群可以包含分片的多个副本。每个分片都有一个称为主分片的指定分片副本,以及零个或多个称为副本的非主分片副本。主分片副本充当所有索引操作的主要入口点。然后将主分片副本上的操作转发到其副本。
副本在集群中的节点上维护数据的冗余副本,以防止硬件故障并提高服务读取请求(如搜索或检索文档)的能力。如果主分片副本发生故障,则会将一个副本提升为主分片,并接管主分片的职责。
在正常运行过程中,Elasticsearch 会将分片副本分配到节点,跨节点重新分配分片副本以平衡集群或满足新的分配约束,并恢复分片以初始化新副本。在本主题中,您将了解这些操作的工作原理以及如何控制它们。
分片分配
编辑分片分配是将分片副本分配到节点的过程。这可能发生在初始恢复、副本分配、重新平衡、将节点添加到集群或从集群中移除节点时,或者更新影响分配的集群或索引设置时。
默认情况下,索引的主分片和副本分片副本可以分配到集群中的任何节点,并且可以重新分配以重新平衡集群。
调整分片分配设置
编辑您可以使用以下设置控制分片副本的分配方式
监控分片分配
编辑如果分片副本未分配,则表示该分片副本未分配到集群中的任何节点。如果集群中没有足够的节点来分配分片副本,或者如果分片副本无法分配到满足分片分配过滤规则的任何节点,则可能会发生这种情况。当分片副本未分配时,您的集群被视为不健康,并返回黄色或红色集群健康状态。
您可以使用以下 API 监控分片分配
分片恢复
编辑分片恢复是初始化分片副本的过程,例如从快照还原主分片或从主分片创建副本分片。当分片恢复完成后,恢复的分片即可用于搜索和索引。
恢复会在以下过程中自动发生
分片重新分配
编辑分片重新分配是将分片副本从一个节点移动到另一个节点的过程。当节点加入或离开集群或集群正在重新平衡时,可能会发生这种情况。
当分片副本重新分配时,它会在目标节点上作为新的分片副本创建。当分片副本完全分配和恢复后,旧的分片副本将被删除。如果正在重新分配的分片副本为主分片,则在删除旧分片副本之前,新分片副本将标记为主分片。