本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
升级 Elasticsearch
Elasticsearch 版本升级不同于服务软件更新。有关为您的 Amazon ES 域更新服务软件的信息,请参阅服务软件更新。
Amazon ES 为运行版本 5.1 及更高版本的域提供了就地 Elasticsearch 升级。如果您使用 Amazon Kinesis Data Firehose 或 Amazon CloudWatch Logs 等服务将数据流式传输至 Amazon ES,请在迁移前检查这些服务是否支持较新版本的 Elasticsearch。
当前,Amazon ES 支持以下升级路径。
源版本 | 目标版本 |
---|---|
7.x |
7.x |
6.8 |
7.x Elasticsearch 7.0 包括多个重大更改。启动就地升级之前,我们建议制作 6.8 域的手动快照并在测试 7.x 域中还原,然后使用该测试域来识别潜在的升级问题。 与 Elasticsearch 6.x 类似,索引只能包含一个映射类型,但该类型现在必须命名为 对于新索引,自托管的 Elasticsearch 7.x 具有默认分片计数 1。Amazon ES 7.x 域保留之前的默认值 5。 |
6.x |
6.x |
5.6 |
6.x 在版本 6.x 中创建的索引不再支持多个映射类型。在版本 5.x 中创建的索引在还原到 6.x 集群后仍然支持多个映射类型。请检查您的代码是否仅为每个索引创建一个映射类型。 为了在从 Elasticsearch 5.6 到 6.x 的升级过程中最大程度地减少停机时间,Amazon ES 将 |
5.x | 5.6 |
升级过程包括三个步骤:
-
升级前检查 – Amazon ES 对可能阻碍升级的问题执行一系列检查,除非这些检查成功,否则不会继续下一步。
-
快照 – Amazon ES 拍摄 Elasticsearch 集群的快照,除非快照拍摄成功,否则不会继续下一步。如果升级失败,Amazon ES 将使用此快照将集群还原到其原始状态。有关此快照的更多信息,请参阅 升级后无法降级。
-
升级 – Amazon ES 开始升级,这可能需要 15 分钟到几个小时才能完成。Kibana 可能在部分或全部升级中不可用。
排查升级问题
就地 Elasticsearch 升级需要正常运行的域。您的域可能不符合升级条件或出于各种原因无法升级。下表显示了最常见的问题。
问题 | 描述 |
---|---|
一个节点的分片过多 | 的 7.x 版本具有每个节点不超过 1000 个分片的默认设置。Elasticsearch如果您当前集群中的节点超过了此设置,Amazon ES 不允许您升级。有关问题排查选项,请参阅最大分片限制。 |
域正在处理中 | 域正在接受配置更改。在操作完成后检查升级资格。 |
红色集群状态 | 集群中的一个或多个索引为红色。有关问题排查步骤,请参阅红色集群状态。 |
高错误率 | 在尝试处理请求时,Elasticsearch 集群返回大量 5xx 错误。此问题通常是因为同时读取或写入了过多的请求。请考虑减少流向集群的流量或扩展您的域。 |
裂脑 | 裂脑 意味着您的 Elasticsearch 集群有多个主节点并且已拆分成两个绝不会自行重新联接的集群。您可以通过使用推荐数量的专用主节点避免裂脑。为了帮助您从裂脑恢复,请联系 AWS Support |
找不到主节点 | Amazon ES 无法找到集群的主节点。如果您的域使用了多 AZ,一个可用区故障可能已导致集群失去仲裁节点数且无法选择新的主节点。如果该问题无法自行解决,请联系 AWS Support |
待处理任务过多 | 主节点处于高负载状态,且具有很多待处理任务。请考虑减少流向集群的流量或扩展您的域。 |
存储卷受损 | 一个或多个节点的磁盘卷无法正常运行。此问题通常与其他问题一起发生,例如高错误率或待处理任务过多。如果它是独立发生的且无法自行解决,请联系 AWS Support |
KMS 密钥问题 | 用于加密域的 KMS 密钥无法访问或丢失。有关更多信息,请参阅监控对静态数据进行加密的域。 |
快照拍摄正在进行中 | 域当前正在拍摄快照。在快照拍摄完成后检查升级资格。还要检查您是否可以列出手动快照存储库,在这些存储库中列出快照,并拍摄手动快照。如果 Amazon ES 无法检查快照拍摄是否正在进行中,升级可能会失败。 |
快照拍摄超时或失败 | 升级前快照拍摄所需的时间过长或失败。检查集群运行状况并重试。如果问题仍存在,请联系 AWS Support |
索引不兼容 | 一个或多个索引与目标 Elasticsearch 版本不兼容。如果您从较旧版本的 Elasticsearch(如 2.3)迁移索引,则可能出现此问题。重建索引并重试。 |
高磁盘使用率 | 集群的磁盘使用率高于 90%。删除数据或扩展域,然后重试。 |
高 JVM 使用率 | JVM 内存压力高于 75%。减少流向集群的流量或扩展域,然后重试。 |
Kibana 别名问题 | .kibana 已被配置为一个别名并映射到不兼容的索引,可能是来自早期版本的 Kibana 的索引。重建索引,然后重试。
|
红色 Kibana 状态 | Kibana 状态为红色。尝试在升级完成时使用 Kibana。如果红色状态仍然存在,请手动解决该问题,然后重试。 |
跨集群兼容性 | 仅当升级后源域与目标域之间保持跨集群兼容性时,才能升级。在升级过程中,会识别任何不兼容的连接。要继续升级,请删除不兼容的连接。 |
其他 Amazon ES 服务问题 | Amazon ES 本身的问题可能会导致您的域显示没有升级资格。如果上述情况都不适用于您的域且该问题持续超过一天,请联系 AWS Support |
开始升级
升级过程是不可撤销的,并且无法暂停或取消。在升级过程中,您无法对域进行配置更改。在开始升级之前,请仔细确认您是否要继续。您可以使用这些相同步骤执行升级前检查而不实际开始升级。
如果集群具有专用主节点,则无需停机即可完成升级。否则,集群在选择主节点时可能会在升级后几秒钟无响应。
将域升级到更高版本的 Elasticsearch(控制台)
-
创建您的域的手动快照。此快照充当备份,如果您希望恢复使用之前的 版本,则可以在新域上还原Elasticsearch。
-
转至 https://aws.amazon.com
,然后选择 Sign In to the Console (登录控制台)。 -
在 Analytics 下,选择 Elasticsearch Service。
-
在导航窗格中的我的域下,选择要升级的域。
-
选择 Actions (操作) 和 Upgrade domain (升级域)。
-
对于操作,依次选择升级、提交和继续。
-
返回到概览选项卡,然后选择升级状态以监控升级的状态。
将域升级到更高版本的 Elasticsearch(AWS CLI 和开发工具包)
您可以通过以下操作来识别您的域的正确 Elasticsearch 版本,开始就地升级,执行升级前检查,然后查看进度:
-
get-compatible-elasticsearch-versions
(GetCompatibleElasticsearchVersions
) -
upgrade-elasticsearch-domain
(UpgradeElasticsearchDomain
) -
get-upgrade-status
(GetUpgradeStatus
) -
get-upgrade-history
(GetUpgradeHistory
)
有关更多信息,请参阅 AWS CLI Command Reference 和 Amazon Elasticsearch Service 配置 API 参考。
使用快照迁移数据
就地升级是将域升级到更高的 Elasticsearch 版本的更方便、更快捷、更可靠的方法。如果您需要从 5.1 之前的 Elasticsearch 版本迁移或想要迁移到全新的集群,那么快照是一个很好的选择。
下表显示了如何使用快照将数据迁移到使用不同的 Elasticsearch 版本的域。有关制作和还原快照的更多信息,请参阅使用 Amazon Elasticsearch Service 索引快照。
源版本 | 目标版本 | 迁移过程 |
---|---|---|
6.x | 7.x |
|
6.x | 6.8 |
|
5.x | 6.x |
|
5.x | 5.6 |
|
2.3 | 6.x |
Elasticsearch 2.3 快照与 6.x 不兼容。要将您的数据直接从 2.3 迁移到 6.x,则必须在新域中手动重新创建您的索引。 或者,您可以按照此表中的 2.3 到 5.x 步骤进行操作,在新的 5. |
2.3 | 5.x |
|
1.5 | 5.x |
Elasticsearch 1.5 快照与 5.x 不兼容。要将您的数据从 1.5 迁移到 5.x,则必须在新域中手动重新创建您的索引。 1.5 快照与 2.3 兼容,但 Amazon ES 2.3 域不支持 |
1.5 | 2.3 |
|