A->B-> C迁移
重要
Cluster-to-Cluster Sync beta计划
此功能仅在 mongosync
beta中可用。 要学习;了解更多信息,请参阅 Cluster-to-Cluster Sync beta计划。
从mongosync
beta 1.8开始,您可以执行 A->B-> C迁移。 A->B-> C迁移支持连续执行两次迁移,第一次迁移的目标集群将作为第二次迁移的源集群。
语法
要执行 A->B-> C迁移,请在启动mongosync时运行以下命令:
./bin/mongosync \ --cluster0 <cluster-A-connection-string> \ --cluster1 <cluster-B-connection-string> \ --migrationName <string> ./bin/mongosync \ --cluster0 <cluster-B-connection-string> \ --cluster1 <cluster-C-connection-string> \ --migrationName <string>
要在源集群和目标集群之间启动同步操作,请参阅在集群之间同步数据。
行为
第一次迁移(A->B) 必须在第二次迁移(B-> C) 开始提交之前完成提交。
警告
如果第二次迁移在第一次迁移完成之前开始提交,则可能会遇到数据丢失的情况。
在使用任何实验性的 mongosync
beta功能之前,请查看Cluster-to-Cluster Sync beta计划免责声明。
为了获得更好的性能,请确保第一次迁移(A->B)在第二次迁移(B-> C)开始之前达到change event application
。 要查看迁移是否达到change event application
,请检查progress
响应文档中的info
字段。
迁移名称
migrationName
字符串最多可包含 44 个字母数字和下划线字符。migrationName
附加到字符串 "mongosync_internal_"
中以设置迁移元数据数据库名称。
例如,如果您将 migrationName
设置为 "cluster_27000_to_cluster_35000_sync"
,则生成的 mongosync
元数据数据库名称为 "mongosync_internal_cluster_27000_to_cluster_35000_sync"
。
例子
以下示例执行两次连续迁移:
将在端口
27000
上运行的源集群与在端口27001
上运行的目标集群连接。使用在端口
27001
上运行的目标集群作为第二次迁移的源集群。将端口
27001
上的源集群与端口27002
上运行的目标集群连接。
该命令还设置--migrationName
来描述操作并存储每次同步的迁移元数据。
./bin/mongosync \ --cluster0 "mongodb://localhost:27000" \ --cluster1 "mongodb://localhost:27001" \ --migrationName "cluster_27000_to_cluster_27001_sync" ./bin/mongosync \ --cluster0 "mongodb://localhost:27001" \ --cluster1 "mongodb://localhost:27002" \ --migrationName "cluster_27001_to_cluster_27002_sync"