On this page本页内容
Secondaries capture data from the primary member to maintain an up to date copy of the sets' data. 次要成员从主要成员获取数据,以维护集合数据的最新副本。However, by default secondaries may automatically change their sync targets to secondary members based on changes in the ping time between members and the state of other members’ replication. 但是,默认情况下,辅助成员可以根据成员之间的ping时间和其他成员的复制状态的变化,自动将其同步目标更改为辅助成员。See Replica Set Data Synchronization and Manage Chained Replication for more information.有关详细信息,请参阅副本集数据同步和管理链接复制。
For some deployments, implementing a custom replication sync topology may be more effective than the default sync target selection logic. 对于某些部署,实现自定义复制同步拓扑可能比默认同步目标选择逻辑更有效。MongoDB provides the ability to specify a host to use as a sync target.MongoDB提供了指定主机作为同步目标的能力。
To temporarily override the default sync target selection logic, you may manually configure a secondary member's sync target to temporarily pull oplog entries. 要临时覆盖默认的同步目标选择逻辑,可以手动配置secondary成员的同步目标以临时拉取oplog条目。The following provide access to this functionality:以下内容提供了此功能的访问权限:
replSetSyncFrom
rs.syncFrom()
helper in mongosh
mongosh
中的rs.syncFrom()
助手Changed in version 3.4.在版本3.4中更改。
If an initial sync operation is in progress when you run 如果在运行replSetSyncFrom
/rs.syncFrom()
, replSetSyncFrom
/rs.syncFrom()
stops the in-progress initial sync and restarts the sync process with the new target. replSetSyncFrom
/rs.syncFrom()
时正在进行初始同步操作,则replSetSyncFrom
/rs.syncFrom()
将停止正在进行的初始同步,并重新启动与新目标的同步过程。In previous versions, if you run 在以前的版本中,如果在初始同步期间运行replSetSyncFrom
/rs.syncFrom()
during initial sync, MongoDB produces no error messages, but the sync target will not change until after the initial sync operation.replSetSyncFrom
/rs.syncFrom()
,MongoDB不会生成错误消息,但同步目标在初始同步操作之后才会更改。
Only modify the default sync logic as needed, and always exercise caution.仅根据需要修改默认同步逻辑,并始终保持谨慎。
The member to sync from must be a valid source for data in the set. 要从中同步的成员必须是集合中数据的有效源。To sync from a member, the member must:要从成员同步,成员必须:
members[n].buildIndexes
setting.members[n].buildIndexes
设置生成索引。If you attempt to replicate from a member that is more than 10 seconds behind the current member, 如果您尝试从比当前成员晚10秒以上的成员复制,mongod
will log a warning but will still replicate from the lagging member. mongod
将记录警告,但仍将从滞后成员复制。See also Replication Lag and Flow Control.另请参阅复制滞后和流量控制。
replSetSyncFrom
/rs.syncFrom()
provide a temporary override of default behavior. 提供默认行为的临时覆盖。mongod
will revert to the default sync behavior in the following situations:将在以下情况下恢复为默认同步行为:
To use the 要在replSetSyncFrom
command in mongosh
:mongosh
中使用replSetSyncFrom
命令:
db.adminCommand( { replSetSyncFrom: "hostname<:port>" } );
To use the 要在rs.syncFrom()
helper in mongosh
:mongosh
中使用rs.syncFrom()
助手,请执行以下操作:
rs.syncFrom("hostname<:port>");