文章目录
许多用户需要他们的Elasticsearch集群始终可用。而这些用户中的很多人也希望在新版本发布时升级他们的Elasticsearch环境,这样他们就可以利用所有的新特性和功能。随之,管理员最终会在生产中满负荷运行的情况下升级Elasticsearch。这听起来好得不像真的?好吧,Elasticsearch是为零停机升级而设计的,但在满负荷的同时升级Elasticsearch引擎确实需要一些知识和准备。
在这篇博客中,我们将介绍零停机时间升级Elasticsearch环境的步骤。我们将提供指导方针和策略,以便在active的生产环境上运行升级时将风险降到最低。以下是我们将介绍的内容:
- 版本注意事项
- 定义升级策略
- 用于支持快速回归的常见部署策略
- 监控升级
- A / B测试
- 自动部署
1. 版本注意事项
你的升级路径将取决于你的当前版本和将要升级的版本。因此,作为第一步,应该在现有的部署版本和预期的版本之间进行比较。以下是我们推荐的几件事:
-
查看你使用的每个产品的重要更新,并进行必要的修改,使你的代码与新版本兼容(例如Elasticsearch .NET客户端的重要更新)。
-
启用弃用日志(deprecation logging),以验证没有使用弃用的功能。
-
升级前重建索引(reindex)! Elasticsearch只能读取前一个主要版本(major)中创建的索引。如果集群中包含的索引是在前一个主要版本之前创建和写入,那么就需要重建索引才能在新版本中得到支持。(例如,Elasticsearch 7.x不能读取5.x中创建的索引)。索引的列表可以在升级助手中找到。
-
使用升级助手来确定对集群配置进行所需的更改。
-
查看所有已保存的实体(