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

从 Elasticsearch 集群中移除一个节点

作者:来自 Elastic Jessica Garson

解释如何从 Elasticsearch 集群中移除一个节点。

更多阅读:

  • Elasticsearch:如何从 Elasticsearch 集群中删除数据节点
  • Elasticsearch:如何使用集群级别的分片分配过滤(不包括节点)安全地停用节点

  • 永久删除 Elasticsearch 中的主节点

想获得 Elastic 认证?了解下一次 Elasticsearch Engineer 培训的时间吧!

Elasticsearch 拥有丰富的新功能,帮助你为你的使用场景构建最佳搜索解决方案。浏览我们的示例 notebooks 了解更多内容,开始免费 cloud 试用,或者现在就尝试在本地机器运行 Elastic。


在管理 Elasticsearch 集群时,有时需要从集群中移除一个节点。这可能是由于硬件故障、维护,或者缩减集群规模所致。本文将讨论在不造成任何数据丢失或影响集群性能的情况下,安全地从 Elasticsearch 集群中移除节点的步骤。如果你想了解 Elasticsearch 节点的概念和角色类型,请查看这篇指南。

从 Elasticsearch 集群中安全移除节点的步骤

1)停止写入并执行同步刷新(可选)

首先,如果你可以在短时间内停止写入操作,建议执行一次同步刷新。这个操作有助于在移除节点后集群重启时加快恢复过程。要执行同步刷新,请运行以下命令:

POST _flush/synced

2)获取节点名称

在执行同步刷新后,你需要知道要移除的节点名称,以便将其从集群中移除。你可以通过执行以下命令来获取节点名称:

GET _cat/nodes?v

3)从集群中移除节点

确定节点名称后,你可以将该节点从集群中移除。要移除该节点,需要更新集群设置,使用节点名称将其排除。执行以下命令,并将 <node_name> 替换为你在上一步中获取的节点名称:

PUT _cluster/settings
{"persistent": {"cluster.routing.allocation.exclude._name": "<node_name>"}
}

这个命令会指示 Elasticsearch 将指定节点上的所有分片迁移到集群中的其他节点。你可以通过执行以下命令来监控分片迁移的进度:

GET _cat/recovery?v&active_only=true

在继续下一步之前,请等待分片迁移过程完成。

4)停止该节点上的 Elasticsearch 进程

当所有分片都已迁移到其他节点后,你就可以安全地停止要移除节点上的 Elasticsearch 进程。根据你的安装方式和操作系统,停止 Elasticsearch 的命令可能有所不同。例如,如果你在 Linux 系统上使用 systemd,可以执行以下命令:

sudo systemctl stop elasticsearch

5)验证集群健康状态

最后,通过执行以下命令来验证集群的健康状态:

GET _cluster/health

确保集群状态为 “green”(表示所有分片都已正确分配),且集群中的节点数量减少了一个。

Elastic Cloud Serverless

另一种避免担心节点管理的方法是使用 Elastic Cloud Serverless。在这个全托管的解决方案中,Elastic 会负责集群的底层架构,意味着你不需要担心节点、分片或扩展,所有操作都会自动完成。

总结

总之,从 Elasticsearch 集群中移除节点的步骤包括禁用该节点的分片分配、可选地执行同步刷新、将节点排除出集群,以及停止该节点上的 Elasticsearch 进程。通过遵循这些步骤,你可以安全地移除节点,不会影响集群性能或导致数据丢失。如果你想要托管解决方案,可以考虑使用 Elastic Cloud Serverless。

原文:Removing a node from an Elasticsearch cluster - Elasticsearch Labs

http://www.lqws.cn/news/465859.html

相关文章:

  • `customRef` 在实战中的使用:防抖、计算属性缓存和异步数据获取
  • 腾讯云IM即时通讯:开启实时通信新时代
  • nuxt3 + vue3 分片上传组件全解析(支持大文件+断点续传)
  • RabbitMQ 的工作流程
  • 【unitrix】 3.6 类型级数转基础类型(from.rs)
  • springboot通过独立事务管理器实现资源隔离与精准控制​
  • HTTPS的加密方式介绍
  • MinIO社区版文件预览失效?一招解决
  • 【Fargo】mediasoup发送2:码率分配、传输基类设计及WebRtcTransport原理
  • React 组件通信
  • C++ 移动构造:提升性能的利器
  • docker执行yum报错Could not resolve host: mirrorlist.centos.org
  • Snapchat矩阵运营新策略:亚矩阵云手机打造高效社交网络
  • C++:动态链接库的编写,__declspec 用法详解
  • 7.3.2_2平衡二叉树的删除
  • 【RTP】基于mediasoup的RtpPacket的H.264打包、解包和demo 1:不含扩展
  • windows下docker虚拟文件大C盘迁移D盘
  • GPT-1 与 BERT 架构
  • TodoList 案例(Vue3): 使用Composition API
  • 基于CNN-LSTM融合模型的环卫车动态称重算法研究:从频率感知到精准质量估计
  • 深入浅出JavaScript 中的代理模式:用 Proxy 掌控对象的“行为开关”
  • Python 爬虫案例(不定期更新)
  • Occt几何内核快速入门
  • Duende Identity Server学习之一:认证服务器及一个Oidc/OAuth认证、用于Machine 2 Machine的客户端
  • 在Docker、KVM、K8S常见主要命令以及在Centos7.9中部署的关键步骤学习备存
  • stm32移植freemodbus
  • C++ - vector 的使用
  • 【转】如何画好架构图:架构思维的三大底层逻辑
  • 使用 R 处理图像
  • SQL Server基础语句2:表连接与集合操作、子查询与CET、高级查询