Easysearch 移除 Data 节点注意事项
Easysearch
2025-04-23

之前介绍过 Easysearch 移除 Master 节点注意事项,感兴趣的小伙伴可以点此 查看。本篇继续介绍移除 Data 节点注意事项,帮助运维人员最大限度降低操作的影响。

潜在影响 #

基于 Easysearch 的副本分片机制,在所有索引均配置副本的前提下,直接下线一个数据节点不会导致数据丢失或读写中断。然而,该操作会触发以下连锁反应:

  • 集群状态:节点直接下线,集群状态将变为 Yellow 状态,可能触发监控告警。
  • 资源消耗:集群将自动分配副本分片以替换缺失的副本,使集群重回 Green 状态。此过程需占用一定网络带宽与磁盘I/O资源。

优化操作过程 #

  1. 选择业务低峰期

因为恢复分片要占用一定资源,可能会影响读写延时,建议选择一个业务低峰期执行该操作。

  1. 评估磁盘容量

下线节点的数据默认会均匀分布到剩下的数据节点上,评估剩下的数据节点是否有磁盘容纳该数据,磁盘利用率是否会到达 磁盘水位线

  1. 检查集群健康状态

操作前确保集群状态为 Green(GET _cluster/health),所有主分片和副本分片均已分配。若状态为黄色或红色,需先解决分片未分配或节点故障问题。

  1. 迁移分片

通过 PUT _cluster/settings 设置排除要下线节点的 IP 或名称,触发分片迁移。例如:

PUT _cluster/settings
{
  "transient": {
    "cluster.routing.allocation.exclude._ip": "192.168.1.9"
  }
}

支持按 _name、_id 等属性过滤。

  1. 监控分片迁移进度

使用 GET _cat/tasks?v 查看相关恢复任务都已完成。

使用 GET _cat/allocation?v 查看分片分配情况,确认目标节点分片数降为 0。

  1. 关闭节点服务

在分片迁移完成后,停止目标节点的进程。

使用 GET _cat/nodes?v 查看节点情况进行确认。

  1. 清理排除配置
PUT _cluster/settings
{
  "transient": {
    "cluster.routing.allocation.exclude._ip": null
  }
}

有任何问题,欢迎加我微信沟通。

标签
Easysearch x
Gateway x
Console x