MST
星途 面试题库

面试题:ElasticSearch集群启动时reroute触发的常见场景有哪些

在ElasticSearch集群启动过程中,会涉及到reroute操作,请阐述常见的触发reroute的场景,比如节点加入或离开集群等,简要说明每个场景下为什么会触发reroute。
12.5万 热度难度
数据库ElasticSearch

知识考点

AI 面试

面试题答案

一键面试

1. 节点加入集群

  • 原因:新节点加入集群后,集群的整体资源发生变化,为了更合理地分配分片以平衡负载,需要重新路由。例如原本集群有3个节点,每个节点承载部分分片,当第4个节点加入时,可将部分分片分配到新节点,让集群资源利用更高效。

2. 节点离开集群

  • 原因:节点离开(包括正常关闭或意外故障)会导致该节点上的分片丢失,集群为保证数据的可用性和完整性,需要将这些丢失的分片重新分配到其他存活节点上,所以触发reroute。如某节点因硬件故障下线,该节点上的主分片或副本分片需要迁移到其他节点。

3. 手动执行reroute命令

  • 原因:管理员根据业务需求,手动调整分片分布。例如希望将某些特定索引的分片集中到某些性能更好的节点上,通过手动reroute命令实现精确控制。

4. 索引创建或删除

  • 原因:创建索引时,需要为该索引分配分片到合适的节点,触发reroute来确定分片分布。删除索引时,该索引相关的分片从节点移除,可能影响集群负载平衡,所以也会触发reroute重新调整其他分片分布。

5. 分片副本数量变化

  • 原因:增加副本数量时,需要为新副本选择合适的节点存放,减少副本数量时,要从相应节点移除副本,这两种情况都会改变集群的分片布局,从而触发reroute以保证数据的均衡和可用性。