【elasticsearch】ELASTICSEARCH 中暂时移除一个节点,然后重新加入集群
一、前言:
遇到一个需求需要对线上ES
集群进行角色拆分,目前是节点即是master
也是 data
,集群是对外提供服务,操作需要谨慎,所以对于滚动重启ES实例比较重要,再将ES实例重新上线。ES提供了非常便利的API来支持这一点。
目前的方案是:将需要重启的某个ES实例上的数据都迁移到别的节点,然后在重启节点,待数据恢复后,在将节点允许分配副本。
具体方案:
比如我们有这样一个ES集群,selk21节点 需要临时下线:
步骤1:将该节点动态排除es集群
这将导致Elasticsearch将该节点上的分片分配给其余节点,而不会将群集状态更改为黄色或红色(即使您的副本数设置为0)。
API 为:
具体的执行命令:
注意 这个操作是transient集群重启后,这个设置会失效
步骤2 重启节点
步骤一配置完成以后,我们就会看到shard在集群中开始迁移,待迁移完成以后。
对selk21节点进行重启处理。
步骤3 重新加入集群
API:
具体是执行命令:
只要让_name匹配不到对用的node即可, 除了_name 之外, 还可以用_ip、_host进行匹配
参考:
http://vearne.cc/archives/561
__EOF__

本文作者:彬在俊
本文链接:https://www.cnblogs.com/erlou96/p/16878222.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/erlou96/p/16878222.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统