腾讯云 ES 提供了版本升级的功能,支持 ES 从低版本到高版本的升级,以及高级特性的升级,可根据业务需要对集群进行升级,实现业务的无缝过渡。
注意:
版本升级暂时通过白名单开放,如果您需要此功能,可以通过 工单咨询。 支持的升级操作
ES 支持以下两种类型的升级。
1. Elasticsearch 版本升级
2. 高级特性升级
高级特性版本说明:
基础版和白金版集成了官方高级商业特性插件(原 X-Pack),包含安全(Security)、SQL、机器学习(Machine Learning)、监控(Monitor)等高级功能,其中基础版只包含 SQL 的一部分和监控,白金版则包含所有高级特性,详细介绍可查看 高级特性(X-Pack)。 说明:
以上两种类型的升级一次只能操作一种,不能同时进行。低版本/开源版升级到高版本时,可同时选择升级到基础版。
5.x 版本只有开源版,没有基础版和白金版。
关于升级的重启
1. 对于升级重启情况,在执行升级操作时,集群可能:
不重启
滚动重启(节点依次重启,期间服务可以正常访问,但性能可能受到部分影响,建议在集群负载不高时进行)
全量重启(所有节点完全关闭后重启,期间服务不可访问,需谨慎选择)
根据您的选择,升级界面对这些情况均会给出提示说明。
2. 对于集群全量重启的情况,因为会涉及业务不可访问,这里做一个特别说明:
集群全量重启与 ES 集群用户登录认证 从关闭到开启有关(可极大提升集群访问安全性),当您的集群从未开启此功能状态变化为开启此功能状态时,根据 Elastic 官方的设计要求,集群需要全量重启,期间集群不可用,因此建议您选择不影响业务的时机来慎重开启此功能。 警告:
从关闭到开启 ES 集群用户登录认证,您还需要提前改造业务代码,通过 API 访问集群,在调用 API/SDK 时传入用户名和密码参数,否则升级后集群无法正常访问。 3. 对 ES 集群用户登录认证能力的版本支持情况说明如下:
开源版没有此能力
6.8及以上基础版支持此能力(可选择是否开启)
白金版默认开启此能力
举例:
从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 升级功能提供了配置项的检查流程,也提供了调整说明,见下文 升级检查。
升级处理流程说明
Elasticsearch 版本升级,需要先进行升级检查、数据备份两个步骤。前两项成功后,才会开始执行升级操作。
1. 升级检查
说明:
只有 Elasticsearch 版本升级会有。
检查升级前后两个版本是否有不兼容的配置,如果检查不通过,流程就会终止。如果升级过程中,遇到升级检查不通过的情况,您可以查看具体的检查项和相应的解决方案。具体请参考 升级检查。您也可以在升级操作前,只选择升级检查操作,查看集群是否满足升级条件。 2. 快照备份
说明:
只有 Elasticsearch 版本升级会有。
升级操作前,ES 会先对您的集群进行快照备份,以防升级操作失败时,可以用快照还原集群。所以,如果快照这一步失败,升级流程也会终止。快照备份耗时同集群数据量有关,如果集群未开启自动快照备份,且数据量较大,第一次快照时间会比较长。
3. 升级过程和集群重启6.x及以上版本的集群,支持高级特性的升级(从开源版到基础版或白金版),升级期间服务需要重启,方式如下:
若升级过程不涉及 ES 集群用户登录认证从关闭到开启,集群需滚动重启,需满足健康状态是绿色,并且不存在只配置了单个副本的索引,以及不能有 close 的索引,才能执行升级操作。升级期间,服务可以正常访问,但性能可能受到部分影响,建议在集群负载不高时进行。
若升级过程涉及 ES 集群用户登录认证从关闭到开启,集群需要全量重启,期间集群会停服,服务不可访问,升级完成后才能正常访问,请谨慎选择。
集群升级操作步骤
1. 登录 ES 控制台,进入集群详情页,单击右上角更多操作 > 升级。 2. 在升级对话框中可以选择升级 Elasticsearch 版本或选择升级高级特性。
升级 Elasticsearch 版本
1. 在升级对话框的升级类型中选择升级 Elasticsearch 版本。
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. 开始升级后,可以在集群详情页的集群变更记录中查看升级进度。