您可以使用命令行选项或配置文件在初创企业时配置 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
startAPI 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
startAPI endpoint.有关连接
mongosync的更多信息,请参阅连接。要从命令行设置
cluster1设置,请参阅--cluster1选项。
createIndexesBatchSize1.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字符串。您可以多次使用此设置,以提供来自多个集合的热文档标识符。以下示例提供了来自集合
coll1和coll2的两个热文档标识符: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
listShardscommand.要从命令行设置
id设置,请参阅--id选项。
loadLevel类型:整型
默认值:
3设置在源集群和目标集群之间同步数据的集群工作负载级别:
4,这是最高设置,最大限度地提高集群工作负载,数据同步的速度最快。1,这是最低设置,最大限度地减少了集群工作负载,数据同步的速度最慢。
要从命令行设置
loadLevel设置,请参阅--loadLevel选项。警告
将
loadLevel设置为高于默认值3可能会对目标集群性能产生负面影响。如果源集群存在读取瓶颈或目标集群存在写入瓶颈,则减少
loadLevel可能会提高性能。1.4版本新增。
metricsLoggingFilepath类型:字符串
1.16.0版本新增。
设置指标日志目录的路径。Mongosync 将指标日志写入此目录中的文件。
有关更多信息,请参阅 Mongosync 指标。
要从命令行设置
metricsLoggingFilepath设置,请参阅--metricsLoggingFilepath选项。
port类型:整型
默认值:
27182设置HTTP服务器用于 Mongosync HTTP API 的端口。
要从命令行设置
port设置,请参阅--port选项。
verbosity类型:字符串
默认值:
DEBUG设置要在日志消息中使用的详细程度。Mongosync 会记录指定级别的所有消息以及较低级别的所有消息。
verbosity设置支持以下值:TRACEDEBUGINFOWARNERRORFATALPANIC
要从命令行设置
verbosity设置,请参阅--verbosity选项。
在同步重新配置 mongosync
重要
迁移期间只能调整以下设置。 其他设置必须在 mongosync重启之间保持不变。
当 mongosync 同步时,您可以通过执行以下步骤来重新配置 --config、--createIndexesBatchSize、--disableTelemetry、--loadLevel、--logPath、--port 和 --verbosity 选项:
(可选)暂停 mongosync 进程
在每个运行的pause 进程上运行mongosync 。
您可以稍后从暂停状态恢复mongosync进程,如最后一步所示。
提示
如果您不想在重新配置后立即恢复数据同步操作,请考虑暂停 mongosync 进程。 如果您要协调多个 mongosync 进程的操作,这非常有用。
(可选)更新配置文件
如果您在首次初始化--config 时使用mongosync 选项设立配置文件的路径,请使用每个设置的新值更新此配置文件。
启动或恢复 mongosync 进程
mongosync如果您之前在可选的第一步中暂停了任何 进程,请对暂停的resume mongosync进程运行 。
如果您在未使用pause的情况下停止了任何 mongosync 进程,请对已停止的 mongosync 进程运行start。有关更多详细说明,请参阅在集群之间迁移数据。
mongosync 将同步大致恢复到停止早期进程之前的位置。 终止时正在进行的任何分区都将从头开始重新启动。