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

配置

您可以使用命令行选项或配置文件在初创企业时配置 mongosync 实例。配置文件指定的设置值相当于 mongosync命令行选项。

During a migration, you can reconfigure certain mongosync settings by following the steps in Reconfigure mongosync During Synchronization.

您可以写入大多数mongosync命令行选项写入 YAML文件。 配置文件使用 YAML 格式指定每个设置的值。

例如:

cluster0: "mongodb://192.0.2.10:27017"
cluster1: "mongodb://192.0.2.20:27017"
logPath: "/var/log/mongosync"
verbosity: "WARN"

要使用配置文件,请使用--config选项启动mongosync ,以设立文件的路径:

mongosync --config <configPath>

您可以使用配置文件配置以下 mongosync 设置。

mongosync要命令行配置 ,请参阅命令行选项。

注意

start 命令为 reversibility 等功能提供了附加选项。有关更多详细信息,请参阅启动API文档。

acceptDisclaimer

类型:布尔值

接受针对嵌入式验证程序的免责声明。

如果在没有此设置的情况下启动 mongosync进程,则会提示用户接受每项免责声明。

此设置允许已阅读并接受免责声明的用户接受免责声明并启动 mongosync进程。

要从命令行设置 acceptDisclaimer 设置,请参阅 --acceptDisclaimer 选项。

1.9版本新增。

cluster0

类型:字符串

Sets the connection URI for the first cluster. The first cluster can serve as either the source or the destination in the sync process. Designate the source and destination clusters in the call to the start API endpoint.

有关连接 mongosync 的更多信息,请参阅连接

要从命令行设置 cluster0 设置,请参阅 --cluster0 选项。

cluster1

类型:字符串

Sets the connection URI for the second cluster. The second cluster can serve as either the source or the destination in the sync process. Designate the source and destination clusters in the call to the start API endpoint.

有关连接 mongosync 的更多信息,请参阅连接

要从命令行设置 cluster1 设置,请参阅 --cluster1 选项。

createIndexesBatchSize

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 选项。

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

disableVerification

类型:布尔值

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

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

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

要从命令行禁用验证,请参阅--disableVerification 选项。

1.10版本新增。

enableCappedCollectionHandling

类型:布尔值

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

设置为 true 以启用在迁移期间创建新的固定大小集合。默认为 false

要从命令行设置 enableCappedCollectionHandling 设置,请参阅 --enableCappedCollectionHandling 选项。

1.20版本新增。

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

注意

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

要命令行设立hotDocIDs,请参阅--hotDocIDs选项。

id

类型:字符串

mongosync 实例设置标识符。

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

The identifier value for this setting must correspond to the shard ID of the shard it syncs. To find the shard ID, use the listShards command.

要从命令行设置 id 设置,请参阅 --id 选项。

loadLevel

类型:整型

默认值3

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

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

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

要从命令行设置 loadLevel 设置,请参阅 --loadLevel 选项。

警告

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

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

1.4版本新增。

logPath

类型:字符串

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

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

要从命令行设置 logPath 设置,请参阅 --logPath 选项。

metricsLoggingFilepath

类型:字符串

1.16.0版本新增。

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

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

要从命令行设置 metricsLoggingFilepath 设置,请参阅 --metricsLoggingFilepath 选项。

port

类型:整型

默认值27182

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

要从命令行设置 port 设置,请参阅 --port 选项。

verbosity

类型:字符串

默认值DEBUG

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

verbosity 设置支持以下值:

  • TRACE

  • DEBUG

  • INFO

  • WARN

  • ERROR

  • FATAL

  • PANIC

要从命令行设置 verbosity 设置,请参阅 --verbosity 选项。

重要

迁移期间只能调整以下设置。 其他设置必须在 mongosync重启之间保持不变。

mongosync 同步时,您可以通过执行以下步骤来重新配置 --config--createIndexesBatchSize--disableTelemetry--loadLevel--logPath--port--verbosity 选项:

1

在每个运行的pause 进程上运行mongosync

您可以稍后从暂停状态恢复mongosync进程,如最后一步所示。

提示

如果您不想在重新配置后立即恢复数据同步操作,请考虑暂停 mongosync 进程。 如果您要协调多个 mongosync 进程的操作,这非常有用。

2

使用操作系统停止每个运行的mongosync进程。 有关具体步骤,请参阅操作系统文档。

3

如果您在首次初始化--config 时使用mongosync 选项设立配置文件的路径,请使用每个设置的新值更新此配置文件。

4

如果您在上一步中更新了配置文件,请初始化mongosync 进程,并将--config 选项设立为已更新配置文件的路径:

mongosync --config <configPath>

如果在首次初始化 --config时未使用mongosync mongosync选项,请使用将命令行选项设立为更新后的值来初始化 进程:

mongosync \
--cluster0 "<cluster0_connection_string>" \
--cluster1 "<cluster1_connection_string>" \
--loadLevel <newLevel>

有关更多信息,请参阅初始化 mongosync。

5

mongosync如果您之前在可选的第一步中暂停了任何 进程,请对暂停的resume mongosync进程运行 。

如果您在未使用pause的情况下停止了任何 mongosync 进程,请对已停止的 mongosync 进程运行start。有关更多详细说明,请参阅在集群之间迁移数据。

mongosync 将同步大致恢复到停止早期进程之前的位置。 终止时正在进行的任何分区都将从头开始重新启动。