mongosync
定义
mongosync
二进制是集群到集群同步中使用的主要进程。mongosync
可将数据从一个集群迁移到另一个集群,同时保持集群持续同步。
您可以使用mongosync
创建反映生产环境的专用分析、开发或测试集群。同步后的集群还可以支持审核和数据驻留合规性的局部性要求。
除了连续的数据同步之外,mongosync
还能促进集群之间的一次性数据迁移。
有关mongosync
进程的概述,请参阅关于mongosync
。
要开始使用 mongosync
,请参阅快速入门指南。
兼容性
支持的 MongoDB 最低服务器版本为6 。 0 。 16和7 。 0 。 9 。
您可以迁移 MongoDB 版本低于6的集群(源)上的数据。 0到 Atlas 集群(目标)。从较低版本的集群迁移需要在较低版本的集群中进行额外的准备和配置。 请联系您的客户团队,咨询专业服务。
mongosync
支持副本集和分片集群。不支持独立运行的 MongoDB 实例。在使用 Cluster-to-Cluster Sync 之前,将独立运行的实例转换为副本集。
mongosync
不支持 Atlas 共享集群或无服务器实例。有关限制的完整列表,请参阅 Cluster-to-Cluster Sync 限制。
语法
下面的mongosync
命令布局已修改以进行显示。 要使用mongosync
将cluster0
连接到cluster1
,请在一行中输入以下命令:
mongosync \ --cluster0 "<cluster0_connection_string>" \ --cluster1 "<cluster1_connection_string>"
有关如何格式化连接字符串的详细信息,请参阅连接mongosync
。
命令行选项
全局选项
--cluster0 <uri>
设置第一个集群的连接 URI。在同步过程中,第一个集群既可以作为源,也可以作为目标。在调用
start
API 端点时指定源集群和目标集群。有关连接
mongosync
的更多信息,请参阅连接。要通过配置文件设置
--cluster0
选项,请参阅cluster0
设置。警告
在某些系统上,使用
--cluster0
或--cluster1
选项在连接字符串中提供密码可能会使密码对其他用户可能调用的系统状态程序(例如ps
)可见。请考虑改用
--config
选项来指定包含密码的配置文件。
--cluster1 <uri>
设置第二个集群的连接 URI 。在同步进程中,第二个集群既可以作为源,也可以作为目标。在
start
API 端点的调用中指定源集群和目标集群。有关连接
mongosync
的更多信息,请参阅连接。要通过配置文件设置
--cluster1
选项,请参阅cluster1
设置。警告
在某些系统上,使用
--cluster0
或--cluster1
选项在连接字符串中提供密码可能会使密码对其他用户可能调用的系统状态程序(例如ps
)可见。请考虑改用
--config
选项来指定包含密码的配置文件。
--config <filename>
设置配置文件的路径。
有关详细信息,请参阅配置文件。
--disableTelemetry
版本 1.4.0 中的新增功能。
禁用收集
mongosync
遥测数据。默认情况下,
mongosync
收集匿名的汇总使用数据以改进 MongoDB 产品。当您运行mongosync
时,您可以禁用此遥测数据的收集。要通过配置文件设置
--disableTelemetry
选项,请参阅disableTelemetry
设置。有关更多信息,请参阅用户数据集合。
--id <id>
为
mongosync
实例设置标识符。在分片集群上运行多个
mongosync
实例时,使用此选项单独同步分片。此选项的标识符值必须与同步分片的分片 ID 相对应。如要查找分片 ID,请使用
listShards
命令。要通过配置文件设置
--id
选项,请参阅id
设置。
--loadLevel <level>
类型:整型
默认值:
3
设置在源集群和目标集群之间同步数据的集群工作负载级别:
4
,这是最高设置,最大限度地提高集群工作负载,数据同步的速度最快。1
,这是最低设置,最大限度地减少了集群工作负载,数据同步的速度最慢。
要通过配置文件设置
--loadLevel
选项,请参阅loadLevel
设置。警告
将
loadLevel
设置为高于默认值3
可能会对目标集群性能产生负面影响。
--logPath <directory>
设置日志目录的路径。集群到集群同步会将日志写入该目录下的文件。
有关更多信息,请参阅日志记录。
要通过配置文件设置
--logPath
选项,请参阅logPath
设置。注意
如果使用
--logPath
选项启动mongosync
,则可以向mongosync
进程发送USR1
信号以轮换其日志文件:kill -s USR1 $mongosync_pid $mongosync_pid
是mongosync
进程 ID。
--migrationName <name>
从
mongosync-beta
1开始。 8 ,为同步操作设置迁移名称。例如,您可以设置迁移名称来标识从多个源集群到一个目标集群的每次同步操作。migrationName
字符串最多可包含44个字母数字和下划线字符。migrationName
附加到字符串"mongosync_internal_"
以设置迁移元数据数据库名称。例如,如果将
migrationName
设置为"cluster_27000_to_cluster_35000_sync"
,则生成的mongosync
元数据数据库名称为"mongosync_internal_cluster_27000_to_cluster_35000_sync"
。有关完整示例,请参阅多对一迁移或A->B->C 迁移。
要通过配置文件设置
--migrationName
选项,请参阅migrationName
设置。
--port
默认值:
27182
设置 HTTP 服务器用于集群到集群同步 HTTP API 的端口。
要通过配置文件设置
--port
选项,请参阅port
设置。
--verbosity <level>
默认值:
DEBUG
设置要在日志消息中使用的详细程度。 Cluster-to-Cluster Sync 记录指定级别的所有消息和较低级别的所有消息。
--verbosity
选项支持以下各值:TRACE
DEBUG
INFO
WARN
ERROR
FATAL
PANIC
要通过配置文件设置
--verbosity
选项,请参阅verbosity
设置。
行为
有关更多信息,请参阅mongosync
行为。