Elasticsearch迁移至OpenSearch的排查清单及迁移方案 注意事项 客户原有 XPack 相关功能(如 Watcher、ML、RBAC、License 校验等)需替换为OpenSearch插件或重写业务逻辑。 Kibana的仪表盘、图表迁移需适配OpenSearch Dashboards(部分图表可能不兼容)。 是否安装第三方插件,以及插件的不同版本功能使用上是否存在差异。 API兼容性与客户端适配 SDK需要使用OpenSearch官方提供的SDK。不过OpenSearch也兼容Elasticsearch的Java HighLevel Rest Client,只需要修改少量的代码(具体可以参考《Elasticsearch与OpenSearch的Java Client代码差异》章节)。 注意事项 建议更换为OpenSearch官方SDK。 如用Elasticsearch 8.x SDK,需回退使用兼容 Elasticsearch 7.10 的版本(否则会因header校验失败)。 安全配置差异 安全能力 Elasticsearch(XPack) OpenSearch2.19.1 用户认证 基于License的角色控制 内置OpenSearch Security插件 多租户隔离 XPack支持Spaces OpenSearchDashboards 支持 Multitenancy 注意事项 需重新配置: 用户角色映射 (roles.yml, tenants.yml); Dashboards多租户视图; API Token/LDAP/SAML集成方式。 访问控制策略语法和行为有区别,尤其是fieldlevel和documentlevel安全控制。 迁移与数据恢复 常见迁移方式包括 1. 使用快照迁移 优点:简洁、可靠;可保留索引、映射、分片结构和设置。 适用场景:客户使用的ES 版本 ≤ 7.10.2,数据量较大,迁移时可接受短暂停机或只读窗口。 限制/注意事项:ES 8.x 快照不可恢复至 OpenSearch。 2. 使用Logstash迁移 优点:支持数据加工/转换,迁移时可进行字段清洗、格式转换。 适用场景:想要“边迁移边清洗”,或者只迁移部分数据字段;或ES源版本较新(7.11+) 限制/注意事项:需部署Logstash,性能较低,不保留原mapping设置;需要重建索引结构。 3. Reindex from Remote 优点:操作简单、无需额外工具,实时迁移部分数据或索引。 适用场景:只需迁移部分索引、文档数量不大、源ES支持reindexremote。 限制/注意事项:源和目标集群需网络可通;不能迁移mapping和setting,需手动创建索引结构;不支持向量数据迁移。 4. 逐节点原地迁移(InPlace Rolling Upgrade) 优点:无需拷贝数据,保留分片布局、设置、集群UUID,最完整地保留原集群状态。 适用场景:客户源ES为OSS版本且版本号≤7.10.2,不想重建集群或数据迁移成本较高。 限制/注意事项:源集群和目标集群必须是兼容版本(≤7.10.2);需停掉每个节点依次切换为OpenSearch,较复杂;不支持ES 8.x。 额外限制:目前天翼云云搜索服务为全托管服务,不支持自助逐节点原地迁移。客户可以通过这种方式将数据先迁移到天翼云云主机,然后再逐步迁移到天翼云云搜索服务。