升级 ES 集群

最近更新时间:2024-10-08 14:18:21

我的收藏
腾讯云 Elasticsearch Service 提供了版本升级的功能,支持 ES 从低版本到高版本的升级,以及高级特性的升级,可根据业务需要对集群进行升级,实现业务的无缝过渡。

支持的升级操作

ES 支持以下两种类型的升级。
1. Elasticsearch 版本升级
源 Elasticsearch 版本
目标 Elasticsearch 版本
低版本(如6.8版本)
高版本(如7.10版本)
2. 高级特性升级
源高级特性版本
目标高级特性版本
开源版
基础版、白金版
基础版
白金版
高级特性版本说明: 基础版和白金版集成了官方高级商业特性插件(原 X-Pack),包含安全(Security)、SQL、机器学习(Machine Learning)、监控(Monitor)等高级功能,其中基础版只包含 SQL 的一部分和监控,白金版则包含所有高级特性,详细介绍可查看 高级特性(X-Pack)
说明
以上两种类型的升级一次只能操作一种,不能同时进行。低版本/开源版升级到高版本时,可同时选择升级到基础版。
5.x 版本只有开源版,没有基础版和白金版。

关于升级的重启

1. 对于升级重启情况,在执行升级操作时,集群可能:
不重启
滚动重启(节点依次重启,期间服务可以正常访问,但性能可能受到部分影响,建议在集群负载不高时进行)
全量重启(所有节点完全关闭后重启,期间服务不可访问,需谨慎选择)
2. 根据您的选择,升级界面对这些情况均会给出提示说明。 对于集群全量重启的情况,因为会涉及业务不可访问,这里做一个特别说明:
集群全量重启与 ES 集群用户登录认证 从关闭到开启有关(可极大提升集群访问安全性),当您的集群从未开启此功能状态变化为开启此功能状态时,根据 Elastic 官方的设计要求,集群需要全量重启,期间集群不可用,因此建议您选择不影响业务的时机来慎重开启此功能。
警告
从关闭到开启 ES 集群用户登录认证,您还需要提前改造业务代码,通过 API 访问集群,在调用 API/SDK 时传入用户名和密码参数,否则升级后集群无法正常访问。
3. 对 ES 集群用户登录认证功能的版本支持情况说明如下:
开源版:采用腾讯云自研 O-Pack 鉴权认证组件,默认开启。
6.8及以上基础版支持 X-Pack 登录认证(可选择是否开启)。
白金版默认开启此功能。
举例:
从6.4开源版(无此功能)升级到6.8基础版(选择不开启此功能),不需要全量重启集群。
从6.4开源版(无此功能)升级到6.8基础版(选择开启此功能),需要全量重启集群。
从6.8基础版(未开启此功能)升级到6.8白金版(默认开启此功能),需要全量重启集群。
从6.8基础版(已开启此功能)升级到6.8白金版(默认开启此功能),不需要全量重启集群。

升级注意事项

Elasticsearch 5.x版本与6.x版本兼容及使用说明

1. index 多 type Elasticsearch 从 6.x 开始,不再支持一个索引多个 type。从 5.x 版本升级到 6.x 版本后,新建多 type 的索引将会报错,原有在 5.x 版本创建的多 type 索引,不受影响,可以正常写入。
2. curl 访问集群用 curl 访问集群时,需要增加请求header -H 'Content-Type: application/json'
curl -XPUT http://10.0.0.2:9200/china/city/beijing -H 'Content-Type: application/json' -d'
{
"name":"北京市",
"province":"北京市",
"lat":39.9031324643,
"lon":116.4010433787,
"x":6763,
"level.range":4,
"level.level":1,
"level.name":"一线城市",
"y":6381,
"cityNo":1
}'
3. 配置项兼容 Elasticsearch 不同版本之间会存在一些不兼容的配置,如果您有设置,升级后可能会影响集群的使用。ES 升级功能提供了配置项的检查流程,也提供了调整说明,见下文 升级检查
4. 更多说明请参考 Breaking changes in 6.0 版本

升级处理流程说明

Elasticsearch 版本升级,需要先进行升级检查、数据备份两个步骤。前两个成功后,才会开始执行升级操作。
1. 升级检查
说明
只有 Elasticsearch 版本升级会有。
检查升级前后两个版本是否有不兼容的配置,如果检查不通过,流程就会终止。如果升级过程中,遇到升级检查不通过的情况,您可以查看具体的检查项和相应的解决方案,详情可参见 升级检查。您也可以在升级操作前,只选择升级检查操作,查看集群是否满足升级条件。
2. 快照备份
说明
仅 Elasticsearch 版本升级会有。
升级操作前,ES 会先对您的集群进行快照备份,以防升级操作失败时,可以用快照还原集群。所以,如果快照这一步失败,升级流程也会终止。快照备份耗时同集群数据量有关,如果集群未开启自动快照备份,且数据量较大,第一次快照时间会比较长。
3. 升级过程和集群重启 6.x 及以上版本的集群,支持高级特性的升级(从开源版到基础版或白金版),升级期间服务需要重启,方式如下:
若升级过程不涉及 ES 集群用户登录认证从关闭到开启,集群需滚动重启,需满足健康状态是绿色,并且不存在只配置了单个副本的索引,以及不能有 close 的索引,才能执行升级操作。升级期间,服务可以正常访问,但性能可能受到部分影响,建议在集群负载不高时进行。
若升级过程涉及 ES 集群用户登录认证从关闭到开启,集群需要全量重启,期间集群会停服,服务不可访问,升级完成后才能正常访问,请谨慎选择。

集群升级操作步骤

1. 登录 ES 控制台,进入集群详情页,单击右上角更多操作 > 升级


2. 在升级对话框中可以选择升级 Elasticsearch 版本或选择升级高级特性。

升级 Elasticsearch 版本

1. 在升级页面中选择升级类型为升级版本
2. Elasticsearch 版本下拉框中选择要升级到的版本。
说明
若不选择同时升级高级特性,则默认升级到高版本时保持原高级特性。
ES 主版本升级,例如 ES 5.x 版本升级到 6.x 版本,可以同时把高级特性从开源版升级到基础版。我们也建议您选择基础版高级特性,其包含监控、SQL 等高级版功能。升级到6.8及以上基础版,还可以选择勾选 ES 集群用户登录认证,此时需要全量重启,期间集群会停服,服务不可访问,请谨慎选择。
3. 升级前,会先对集群状态进行检查,判断集群是否可以升级,包括检查集群的配置、集群的状态等。操作选择可以选择仅做升级检查,暂不升级,在单击确定后,仅做升级检查,不执行升级命令,您可以在详情页变更记录页签中查看检查结果。
说明
ES 主版本升级,例如 5.x 版本到 6.x 版本,有些集群级别的配置项和索引级别的配置项不兼容,需要通过升级检查判断集群是否可升级。整个升级检查会检查一些配置项,错误的配置项需要您进行调整,告警的配置项可以选择性调整,具体可查看 ES 版本升级检查
4. 选择完成后,单击确定开始版本升级。



升级高级特性

1. 在升级页面中选择升级类型为升级[高级特性]版本
2. 高级特性中选择要升级到的高级特性版本。
3. 单击确定开始升级。
注意
高级特性升级须知: 目前支持 6.x 及以上版本的高级特性升级,5.x 版本不支持(5.x 版本只有开源版,无基础和白金版)。
升级到不同的版本,过程有所不同,具体如下:
若升级过程不涉及 ES 集群用户登录认证从关闭到开启,集群需要滚动重启,期间服务访问会受短暂影响,请在服务访问量不大时进行操作。
若升级过程涉及 ES 集群用户登录认证从关闭到开启,集群需要全量重启,期间集群会停服,服务不可访问,请谨慎选择。
4. 开始升级后,可以在集群详情页的变更记录页签中查看升级进度。