mongosync
mongosync
二进制文件不支持用于非正版MongoDB部署,也不对其进行测试。虽然这些工具可能适用于这些部署,但不保证兼容性。定义
mongosync
二进制文件是Cluster-to-Cluster Sync中使用的主节点 (primarymongosync
node in the replica set)进程。 将数据从源集群迁移到目标集群,并使集群保持持续同步,直到您 完成同步。除了持续的数据同步之外,mongosync
还可以在集群之间执行一次性数据迁移。
有关 mongosync
进程的概述,请参阅关于 mongosync
。
要开始使用 mongosync
,请参阅快速入门指南。
常见问题解答 (常见问题解答) 页面解答用户提出的有关mongosync
的问题。
兼容性
从版本1.10 开始,
mongosync
支持迁移到使用MongoDB8.0 的目标集群。源必须是8.0 之前的集群。要从8.0 源集群迁移,请参阅在两个. 80集群之间同步数据。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
。
命令行选项
您可以使用命令行配置以下 mongosync
选项。
mongosync
要从配置文件配置 ,请参阅配置文件。
全局选项
--acceptDisclaimer
当
mongosync
进程在没有此选项的情况下启动时,系统会提示用户接受每项免责声明。此选项允许已阅读并接受免责声明的用户接受免责声明并启动
mongosync
进程。要通过配置文件设置
--acceptDisclaimer
选项,请参阅acceptDisclaimer
设置。1.9 版本中的新功能。
--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>
设置配置文件的路径。
要在迁移期间设立配置文件路径,请参阅在同步期间重新配置
mongosync
。有关更多信息,请参阅配置文件。
--disableTelemetry
版本 1.4.0 中的新增功能。
禁用收集
mongosync
遥测数据。默认情况下,
mongosync
收集匿名的汇总使用数据以改进 MongoDB 产品。当您运行mongosync
时,您可以禁用此遥测数据的收集。要通过配置文件设置
--disableTelemetry
选项,请参阅disableTelemetry
设置。要在迁移期间禁用遥测数据集合,请参阅在同步期间重新配置
mongosync
。有关更多信息,请参阅用户数据集合。
--disableVerification
禁用嵌入式验证器。禁用后,
mongosync
不会验证迁移。有关其他验证方法,请参阅验证数据传输。对于在运行带验证的
mongosync
时遇到 OOM 终止并且无法分配更多资源或无法容忍重新启动验证的客户,此选项提供了一种解决方法。它允许在禁用验证的情况下完成迁移。对于后续的重启和撤销,验证保持禁用状态。mongosync
初次启动 时不应使用此选项。相反,请使用 /start请求参数verification.enabled: false
禁用验证,因为默认下会启用验证。要禁用配置文件验证,请参阅
disableVerification
设置。1.10 版本中的新增功能。
--id <id>
为
mongosync
实例设置标识符。在分片集群上运行多个
mongosync
实例时,使用此选项单独同步分片。此选项的标识符值必须与同步分片的分片 ID 相对应。如要查找分片 ID,请使用
listShards
命令。要通过配置文件设置
--id
选项,请参阅id
设置。
--loadLevel <level>
类型:整型
默认值:
3
设置在源集群和目标集群之间同步数据的集群工作负载级别:
4
,这是最高设置,最大限度地提高集群工作负载,数据同步的速度最快。1
,这是最低设置,最大限度地减少了集群工作负载,数据同步的速度最慢。
要通过配置文件设置
--loadLevel
选项,请参阅loadLevel
设置。要在迁移期间更改负载级别,请参阅在同步期间重新配置
mongosync
。警告
将
loadLevel
设置为高于默认值3
可能会对目标集群性能产生负面影响。如果源集群存在读取瓶颈或目标集群存在写入瓶颈,则减少
loadLevel
可能会提高性能。1.4 版本中的新增功能。
--logPath <directory>
设置日志目录的路径。集群到集群同步会将日志写入该目录下的文件。
有关更多信息,请参阅日志记录。
要通过配置文件设置
--logPath
选项,请参阅logPath
设置。要在迁移期间更改日志目录的路径,请参阅在同步期间重新配置
mongosync
。注意
如果使用
--logPath
选项启动mongosync
,则可以向mongosync
进程发送USR1
信号以轮换其日志文件:kill -s USR1 $mongosync_pid $mongosync_pid
是mongosync
进程 ID。
--port
默认值:
27182
设置 HTTP 服务器用于集群到集群同步 HTTP API 的端口。
要通过配置文件设置
--port
选项,请参阅port
设置。要在迁移期间更改端口,请参阅在同步期间重新配置
mongosync
。
--verbosity <level>
默认值:
DEBUG
设置要在日志消息中使用的详细程度。 Cluster-to-Cluster Sync 记录指定级别的所有消息和较低级别的所有消息。
--verbosity
选项支持以下各值:TRACE
DEBUG
INFO
WARN
ERROR
FATAL
PANIC
要通过配置文件设置
--verbosity
选项,请参阅verbosity
设置。要在迁移期间更改详细程度,请参阅在同步期间重新配置
mongosync
。
行为
如需了解更多信息,请参阅 mongosync
行为。