OpenSearch 间数据迁移
功能概述
OpenSearch 服务支持将数据复制到一个或多个 OpenSearch 集群,通过 opensearch-cross-cluster-replication 插件,以 Replication 方式从 OpenSearch 迁移数据,可实现集群数据迁移和灾备。
创建 OpenSearch 跨集群复制后,主 OpenSearch 集群上对索引的所有操作,包括创建、更新、删除文档等,都将复制到从集群节点上。
本小节主要介绍如何在 OpenSearch 集群间复制数据。
约束限制
-
跨集群复制期间,复制的索引仅可读。
-
跨集群复制期间,不能将从集群索引复制到主集群。
-
复制停止后,不支持重启复制。
操作步骤
步骤一:网络配置
确保两个 OpenSearch 集群之间的网络通畅。
步骤二:配置从集群
-
登录目标集群的的 OpenSearch Dashboard。详情可参考如何登录 OpenSearch Dashboard。
-
在 Dashboard 的 Dev Tools 的 Console 页面,执行以下命令行,创建 Connection。其中
seeds地址填写源 OpenSearch 集群数据节点的 IP 地址。PUT _cluster/settings { "persistent": { "cluster": { "remote": { "my-connection-alias": { "seeds": [ "172.22.2.65:9300", "172.22.2.69:9300" ] } } } } } -
执行以下命令行,创建 Replication。指定待复制的 Connection 名称
leader_alias和索引名称leader_index。PUT _plugins/_replication/leader-01/_start { "leader_alias": "my-connection-alias", "leader_index": "leader-01", "use_roles": { "leader_cluster_role": "all_access", "follower_cluster_role": "all_access" } }
步骤三:主集群添加数据
-
登录源集群的的 OpenSearch Dashboard。详情可参考如何登录 OpenSearch Dashboard。
-
在 Dashboard 的 Dev Tools 的 Console 页面,执行以下命令行,往指定索引中添加数据。前文从集群中,配置的远端索引为
leader-01,因此,这里在源集群的该索引中,添加数据。PUT /leader-01/_doc/1 { "The Shining": "Stephen King" }
步骤四:从集群确认数据
-
登录目标集群的的 OpenSearch Dashboard。详情可参考如何登录 OpenSearch Dashboard。
-
在 Dashboard 的 Dev Tools 的 Console 页面,执行以下命令行,查看索引
leader-01中的数据已经同步。GET /leader-01/_search