ElasticSearch 小版本 RPM 滚动升级(如 7.14.0 → 7.17.10,无服务中断)

小版本升级(同一系列内)无破坏性变更,支持逐个节点滚动升级,集群整体服务不中断,步骤如下:

步骤 1:单个节点禁用分片分配(减少资源消耗)

登录待升级节点,执行命令禁止分片迁移:

bash 复制代码
curl -XPUT "http://<当前节点IP>:9200/_cluster/settings" -H "Content-Type: application/json" -d '{
    "persistent": {
        "cluster.routing.allocation.enable": "none"
        }
}'

步骤 2:停止当前节点的 Elasticsearch 系统服务

RPM 安装的 ES 以 systemd 管理,停止服务命令:

bash 复制代码
# 停止 ES 服务
systemctl stop elasticsearch.service

# 验证服务已停止
systemctl status elasticsearch.service

步骤 3:使用 YUM 升级当前节点的 Elasticsearch RPM 包

直接通过 yum update 升级(自动匹配 YUM 仓库中的最新小版本):

bash 复制代码
# 升级 Elasticsearch(仅升级该包,不升级其他依赖)
yum update elasticsearch -y

说明:YUM 会自动保留原有配置文件(/etc/elasticsearch),并将新版本配置文件以 .rpmnew 后缀留存(若有差异),无需手动替换二进制文件。

步骤 4:修复权限(RPM 升级后可能重置权限)

确保 ES 相关目录的所属用户仍为 elasticsearch(RPM 默认创建该用户):

bash 复制代码
chown -R elasticsearch:elasticsearch /etc/elasticsearch
chown -R elasticsearch:elasticsearch /var/lib/elasticsearch
chown -R elasticsearch:elasticsearch /var/log/elasticsearch

步骤 5:重新加载 systemd 配置,启动 ES 服务

bash 复制代码
# 重新加载 systemd 配置(防止服务文件变更)
systemctl daemon-reload

# 启动 ES 服务
systemctl start elasticsearch.service

# 设置开机自启(保持原有配置)
systemctl enable elasticsearch.service

# 验证服务启动成功
systemctl status elasticsearch.service

步骤 6:验证节点状态,启用分片分配

  1. 验证节点是否正常加入集群,版本是否更新:
bash 复制代码
curl -XGET "http://<当前节点IP>:9200/_nodes/version?pretty"
  1. 启用分片分配,等待分片同步完成(集群回到 green 状态):bash运行
bash 复制代码
curl -XPUT "http://<当前节点IP>:9200/_cluster/settings" -H "Content-Type: application/json" -d '{
  "persistent": {
    "cluster.routing.allocation.enable": "all"
  }
}'

# 等待集群恢复 green,超时 5 分钟
curl -XGET "http://<当前节点IP>:9200/_cluster/health?wait_for_status=green&timeout=300s&pretty"

步骤 7:重复步骤 1-6,升级集群中所有其他节点

逐个节点完成滚动升级,确保所有节点最终版本一致,升级完成后再次全局检查集群健康和版本一致性。

相关推荐
Elasticsearch3 天前
Elastic Observability 的跨项目搜索:通过一个查询搜索所有关联项目
elasticsearch
Elasticsearch3 天前
Elasticsearch 中的 agentic 工作流:暂停 AI agent 等待人工审批,72 小时后恢复
elasticsearch
Elastic 中国社区官方博客3 天前
jina-ocr-v1:在低成本 GPU 上实现更快速的文档解析
大数据·数据库·elasticsearch·搜索引擎·全文检索·jina
vx-程序开发4 天前
【计算机毕设】django校园跑腿服务系统83141
java·数据库·vue.js·spring boot·spring·elasticsearch·django
Elasticsearch4 天前
jina-ocr-v1:在低成本 GPU 上实现更快速的文档解析
elasticsearch
深海鱼肝油ya4 天前
向量数据库Elasticsearch(四)搜索文档——各种方式
人工智能·elasticsearch·向量数据库·es搜索文档·只能体·非结构化数据库
Elasticsearch4 天前
SNAP 支付错误检测:Elastic 如何帮助美国各州应对 FY2028 的处罚
elasticsearch
Elastic 中国社区官方博客4 天前
使用 Elasticsearch 和 Jina 进行 AI 视频搜索:精准找到你需要的视频片段秒数
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
Elasticsearch4 天前
2026 年唯一获得满分 Endpoint Prevention and Response(EPR)评分的是 Elastic
elasticsearch
Elasticsearch5 天前
没有小到无法记录的日志文件:Elastic Agent 如何跟踪低于 1 KiB 阈值的文件
elasticsearch