原英文版地址: https://www.elastic.co/guide/en/elasticsearch/reference/7.7/reindex-upgrade-inplace.html, 原文档版权归 www.elastic.co 所有
本地英文版地址: ../en/reindex-upgrade-inplace.html
本地英文版地址: ../en/reindex-upgrade-inplace.html
重要: 此版本不会发布额外的bug修复或文档更新。最新信息请参考 当前版本文档。
你可以使用 Kibana 6.8 中的升级助手自动重新索引需要迁移到 7.7.1 的 5.x 索引。
要原地重新索引旧索引,请执行以下操作:
- 使用兼容 7.x 版本的 mapping 创建一个索引。
-
将
refresh_interval
设置为-1
,将number_of_replicas
设置为0
,以有效地重新索引。 -
使用
reindex
API 将文档从 5.x 索引复制到新索引中。 在重新索引期间,你可以使用脚本对文档数据和元数据执行任何必要的修改。 -
将
refresh_interval
和number_of_replicas
重置为旧索引中使用的值。 -
等待索引状态变为
green
。 -
在单个 更新别名(update aliases) 请求中:
- 删除旧索引。
- 将旧索引名的别名添加到新索引中。
- 将所有绑定到旧索引中的别名添加到新索引中。
如果你使用了机器学习功能,并且你的机器学习索引是在 6.x 之前创建的,则必须暂时停止与机器学习作业和数据馈送(datafeed)相关的任务,并防止在重新索引期间打开新作业。 使用 设置升级模式(set upgrade mode) API 或 停止所有数据馈送并关闭所有机器学习作业。
如果你使用了 Elasticsearch 安全功能,在你重新索引 .security*
内部索引之前在 file
领域创建临时超级用户帐户是一个好主意。
-
在单个节点上,将临时超级用户帐户添加到
file
领域。 例如,运行 elasticsearch-users useradd 命令:bin/elasticsearch-users useradd <user_name> \ -p <password> -r superuser
-
当重新索引
.security*
索引时使用这些凭据。 也就是说,使用它们登录 Kibana 并运行升级助手或者调用 reindex API。 -
从
file
领域中删除临时超级用户帐户。 例如,运行 elasticsearch-users userdel 命令:bin/elasticsearch-users userdel <user_name>
更新信息请参考 基于文件的用户身份认证。