当前位置: 首页 > article >正文

Elasticsearch 分片迁移与移除集群节点操作

Elasticsearch 分片迁移与移除集群节点操作

问题背景

在单台服务器上部署了 7 个 Elasticsearch 节点,分别为 es-node1 到 es-node7,端口从 9201 到 9207。每个节点都承载大量数据,但没有设置副本分片。由于多个节点共享同一台服务器的硬件资源,复杂查询时会导致 CPU 占用率达到 100%,查询响应时间也超过 8 秒。

当前的索引配置为 30 个主分片,0 副本分片:

{
  "aliases": {
    "cqu_dev_journal_thesis": {}
  },
  "settings": {
    "number_of_shards": 30,
    "number_of_replicas": 0,
    "index": {
      "refresh_interval": "5s",
      "max_inner_result_window": "10000",
      "max_result_window": "20000"
    }
  },
  "mappings": {
    "dynamic": "strict"
  }
}

由于 es-node6 和 es-node7 节点负担较重,计划停止并移除这两个节点以优化系统性能。

操作步骤

1. 确认集群健康状态

首先,需要确保当前数据的健康状态。通过以下命令检查集群状态:

http://<es-node1-ip>:9201/_cluster/health?pretty

该命令会返回集群的健康状态,如果返回的状态为 green,说明所有分片都已正常分配。如果状态是 yellowred,需要小心操作确保不会影响数据。

image-20240918150729915

2. 重新分配分片

由于计划停止的两个节点上持有主分片,首先需要将它们上的分片迁移到其他节点。

  • 防止新分片分配到 es-node6 和 es-node7:通过以下命令将分片迁移到其他节点,并防止新的分片分配到这两个节点上:
PUT /_cluster/settings
{
  "transient": {
    "cluster.routing.allocation.exclude._name": "es-node6,es-node7"
  }
}

此设置会告诉集群不再将分片分配到 es-node6 和 es-node7 上,现有的分片也会开始自动迁移到 es-node1 到 es-node5。

image-20240918150836936

3. 监控分片迁移

可以通过以下命令查看分片的迁移状态:

http://<es-node1-ip>:9201/_cat/shards?v
  • 分片状态:当分片迁移完成后,state 字段会从 RELOCATING 变为 STARTED,表示分片已成功迁移并在新节点上运行。
  • 等待迁移完成:在所有分片都迁移完毕后,集群健康状态应为 green

image-20240918151130797

image-20240918151721937

image-20240918151919671

image-20240918153232349

4. 停止节点

确保所有分片迁移成功后,可以通过命令停止节点,此操作会安全地关闭 es-node6 和 es-node7 节点,不会影响其他节点的正常运行


http://www.kler.cn/news/311482.html

相关文章:

  • POI生成Excel文件增加数据验证(下拉序列)
  • 获取多媒体相册的内容
  • WEB攻防-JavaWweb项目JWT身份攻击组件安全访问控制
  • Qt 菜单栏、工具栏、状态栏、标签、铆接部件(浮动窗口) 设置窗口核心部件(文本编辑控件)的基本使用
  • 代理模式-动态代理
  • Vue3:defineProps接收父组件传递的数据
  • java八股文之Redis
  • Git 分支规范
  • 【Redis】个人笔记
  • java项目之在线考试与学习交流网页平台源码(springboot)
  • Ruby-SAML CVE-2024-45409 漏洞解决方案
  • 【快速笔记】freeRTOS
  • Loki 分布式日志中心服务
  • Hive基本原理与数据开发
  • 唯徳知识产权管理系统 UploadFileWordTemplate 任意文件读取
  • 开源项目 GAN 漫画风格化 UGATIT
  • 如何借助项目管理系统实现审批流程的自动化与标准化?
  • 无人机 PX4 飞控 | EKF 使用传感器汇总与添加传感器方法
  • Photoshop使用方法大全
  • Zookeeper工作机制和特点
  • 软件验收测试报告模版分享?专业软件验收测试公司推荐
  • 如何安装和注册 GitLab Runner
  • 【STM32系统】基于STM32设计的SD卡数据读取与上位机显示系统(SDIO接口驱动、雷龙SD卡)——文末资料下载
  • 单片机,传感器等低功耗管理
  • 模块化编程:构建灵活与高效的系统
  • python简介
  • L67 【哈工大_操作系统】操作系统历史 学习任务
  • spring MVC基础注解汇总
  • js取出一个对象中指定的字段(封装公共方法)
  • Redis 哨兵模式配置教程