【发布时间】:2012-09-24 20:00:09
【问题描述】:
我有三个独立的 MongoDB 数据库服务器,每个服务器都有不同的数据,但数据库和集合名称相同。我已经将它们转换为一个复制集,现在每当我从主服务器读取数据时,我只能从复制集初始化之前获取该特定服务器上的数据。这是预期的行为吗?我是否必须等待所有服务器同步后才能读取所有三个数据库中的数据?
【问题讨论】:
标签: mongodb
我有三个独立的 MongoDB 数据库服务器,每个服务器都有不同的数据,但数据库和集合名称相同。我已经将它们转换为一个复制集,现在每当我从主服务器读取数据时,我只能从复制集初始化之前获取该特定服务器上的数据。这是预期的行为吗?我是否必须等待所有服务器同步后才能读取所有三个数据库中的数据?
【问题讨论】:
标签: mongodb
当您初始化副本集时,每个辅助节点都会从主节点同步数据,以确保所有节点都拥有相同的数据副本 - 不会“合并”数据。成为辅助节点的两个节点将完全擦除并重新同步它们的数据。
见http://docs.mongodb.org/manual/core/replication-internals/#syncing。
如果两个辅助节点的数据没有在任何地方备份,您可能已经丢失了。
【讨论】: