我在我们的开发服务器上玩了一段时间用于新产品,现在它实时排序,我想将现有数据从一台机器(mongod,local)移动到我们的6服务器分片设置( 2个分片,每个3副本集) - 有没有办法将数据库克隆到远程分片?
(最糟糕的情况是,使用分片键示例的简单转储和插入将非常好!)
谢谢!
答案 0 :(得分:1)
您应该将您的开发服务器添加到分片环境:
您不必为迁移分片数据库,但是如果您想从分片中受益,则需要执行此操作。
此解决方案的优势在于您可以采取<强>最小操作(一切都是自动的)并且无停机时间(您放置的负载越多,但是,操作较慢) 但是,这是慢解决方案(比手动复制慢)。
与原始文件复制相比还有一个优点:传输也会压缩(〜碎片整理)数据,这总是好的: - )
答案 1 :(得分:0)
将您的开发服务器添加到副本集作为主服务器,将其他3个服务器作为从服务器。 然后在其他服务器复制数据后删除dev-server。
您可以使用mongodump
转储数据库,然后将带有mongorestore
的db-dump加载到每个副本集的主服务器上
man mongodump
,man mongorestore
请参阅:
http://www.mongodb.org/display/DOCS/Replica+Set+Internals