对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

mongosync 二进制文件

mongosync 二进制文件是 Mongosync 中使用的主节点 (primary node in the replica set)进程。mongosync 将数据从源集群迁移到目标集群,直到您最终完成同步。

有关 mongosync 进程的概述,请参阅关于 mongosync

要开始使用 mongosync,请参阅快速入门指南

Frequently Asked Questions (FAQ)(常见问题解答 (FAQ))页面解答了用户提出的有关 mongosync 的问题。

下面的mongosync命令布局已修改以进行显示。 要使用mongosynccluster0连接到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

有关更多信息,请参阅配置文件。

--createIndexesBatchSize <number>

1.19.0版本新增。:

类型:整型

最低: 1

最大值64

显式设立目标集群上索引构建的批处理大小。默认下,mongosync 会以编程方式优化Atlas目标集群上的此值。

警告

确保已为每个索引分配 100 MB-1 GB的内存。此外,确保并发索引构建使用的总内存保持在目标集群RAM的 20% 以下。为索引构建分配超过 20% 的目标RAM可能会干扰文件系统缓存,从而减少可用于缓冲写入目标集群的内存。

有关更多信息,请参阅索引构建优化。

要通过配置文件设置 --createIndexesBatchSize 选项,请参阅 createIndexesBatchSize 设置。

--disableMetricsLogging

1.16.0版本新增。:

运行Mongosync 二进制文件时禁用指标日志记录。

警告

强烈建议保持指标日志记录处于启用状态,以便于有效地进行故障排除和支持。

有关更多信息,请参阅 Mongosync 指标。

要通过配置文件设置 --disableMetricsLogging 选项,请参阅 disableMetricsLogging 设置。

--disableTelemetry

1.4.0版本新增。:

禁用收集 mongosync 遥测数据

默认情况下,mongosync收集匿名的汇总使用数据以改进 MongoDB 产品。当您运行mongosync时,您可以禁用此遥测数据的收集。

要通过配置文件设置 --disableTelemetry 选项,请参阅 disableTelemetry 设置。

要在迁移期间禁用遥测数据收集,请参阅在同步期间重新配置 mongosync

有关更多信息,请参阅用户数据集合

--disableVerification

禁用嵌入式验证器。禁用后,mongosync 不会验证迁移。 有关其他验证方法,请参阅验证数据传输。

对于在运行带验证的 mongosync 时遇到 OOM 终止并且无法分配更多资源或无法容忍重新启动验证的客户,此选项提供了一种解决方法。 它允许在禁用验证的情况下完成迁移。 对于后续的重启和撤销,验证保持禁用状态。

初次启动 mongosync 时不应使用此选项。 相反,请使用 /start请求参数 verification.enabled: false禁用验证,因为默认下会启用验证。

要从配置文件禁用验证,请参阅 disableVerification 设置。

1.10版本新增。:

--enableCappedCollectionHandling

mongosync 要求您传递此标志,启用在迁移期间创建新的固定大小集合。

要通过配置文件设置 --enableCappedCollectionHandling 选项,请参阅 enableCappedCollectionHandling 设置。

1.20版本新增。:

--help, -h

将使用情况信息打印到 stdout。

--hotDocIDs

为热文档或源集群上更新频率很高的文档设置标识符。然后,mongosync 在迁移提交阶段复制这些文档。

对于运行mongosync时由于热点文档而出现复制延迟的迁移,请使用此选项。

按以下格式提供标识符:

{
“db”: <string>, // the name of the database
"collection" : <string>, // name of the collection
"ids" : [ {“_id”:<Object>”}, ...],
}

ids字段中的对象必须是有效的规范模式扩展JSON字符串。

您可以多次使用此选项,提供来自多个集合的热文档标识符。以下示例提供了来自集合 coll1coll2 的两个热文档标识符:

mongosync \
--hotDocIDs '{"db":"db1","collection":"coll1","ids":[{"_id":{"$oid":"doc1"}},{"_id":{"$oid":"6aa23c249cef3cd958e43785"}}]}' \
--hotDocIDs '{"db":"db2","collection":"coll2","ids":[{"_id":{"$oid":"70023c249cef3cd958e43269"}},{"_id":{"$oid":"7aa23c249cef3cd958e43785"}}]}' \
... other CLI arguments ...

在进行中的迁移过程中,您可以添加更多热门文档标识符。要添加标识符,请停止 mongosync,使用新标识符更新 --hotDocIDs 选项或 hotDocIDs 设置,然后恢复迁移。mongosync 保留所有提供的标识符,以防重启。

在迁移过程中,您不能删除提供的热门文档标识符。要从头开始重启迁移并删除或修正提供的标识符,请参阅 重启 Mongosync。

注意

mongosync 不会在 反向同步中保留热文档。如果在反向同步过程中因热文档导致复制延迟,请重启 mongosync 进程并指定反向的热文档标识符。请勿从头开始重启迁移。

要通过配置文件设置 --hotDocIDs 选项,请参阅 hotDocIDs 设置。

1.18版本新增。:

--id <id>

mongosync 实例设置标识符。

在分片集群上运行多个 mongosync 实例时,使用此选项单独同步分片。

此选项的标识符值必须与同步分片的分片 ID 相对应。如要查找分片 ID,请使用 listShards 命令。

要通过配置文件设置 --id 选项,请参阅 id 设置。

--loadLevel <level>

类型:整型

默认值3

设置在源集群和目标集群之间同步数据的集群工作负载级别:

  • 4,这是最高设置,最大限度地提高集群工作负载,数据同步的速度最快。

  • 1,这是最低设置,最大限度地减少了集群工作负载,数据同步的速度最慢。

要通过配置文件设置 --loadLevel 选项,请参阅 loadLevel 设置。

要在迁移期间更改负载级别,请参阅在同步期间重新配置 mongosync

警告

loadLevel设置为高于默认值 3 可能会对目标集群性能产生负面影响。

如果源集群存在读取瓶颈或目标集群存在写入瓶颈,则减少 loadLevel 可能会提高性能。

1.4版本新增。:

--logPath <directory>

设置日志目录的路径。Mongosync 将日志写入此目录中的文件。

有关更多信息,请参阅日志记录。

要通过配置文件设置 --logPath 选项,请参阅 logPath 设置。

要在迁移期间更改日志目录的路径,请参阅在同步期间重新配置 mongosync

注意

如果使用--logPath选项启动mongosync ,则可以向mongosync进程发送USR1信号以轮换其日志文件:

kill -s USR1 $mongosync_pid

$mongosync_pidmongosync进程 ID。

--metricsLoggingFilepath <directory>

1.16.0版本新增。:

设置指标日志目录的路径。Mongosync 将指标日志写入此目录中的文件。

有关更多信息,请参阅 Mongosync 指标。

要通过配置文件设置 --metricsLoggingFilepath 选项,请参阅 metricsLoggingFilepath 设置。

--port

默认值27182

设置HTTP服务器用于 Mongosync HTTP API 的端口。

要通过配置文件设置 --port 选项,请参阅 port 设置。

要在迁移期间更改端口,请参阅在同步期间重新配置 mongosync

--verbosity <level>

默认值DEBUG

设置要在日志消息中使用的详细程度。Mongosync 会记录指定级别的所有消息以及较低级别的所有消息。

--verbosity 选项支持以下各值:

  • TRACE

  • DEBUG

  • INFO

  • WARN

  • ERROR

  • FATAL

  • PANIC

要通过配置文件设置 --verbosity 选项,请参阅 verbosity 设置。

要在迁移期间更改详细程度级别,请参阅在同步期间重新配置 mongosync

--version, -v

mongosync 版本信息打印到 StdOut。

如需了解更多信息,请参阅 mongosync 行为。