MongoDB添加分片:无法添加第二个分片

问题描述 投票:0回答:2

有6个目录,每个目录包含约1TB数据,它们都属于一个数据库“test” 现在,我想将它们分组到一个集群中。我已经构建了 Shardserver 和 Configserver,但是在将第二个分片添加到集群时遇到问题:

db.runCommand({addshard:localhost:27017});
db.runCommand({addshard:localhost:27027});

"errmsg" : "无法添加分片 localhost:27027 因为本地数据库“test”存在于另一个数据库中 shard0000:localhost:27017"

删除“test”数据库可以解决这个问题,但这不是我想要的。

如何将6个分片(它们都有“测试”数据库,属于单个逻辑数据库)合并在一起?

mongodb sharding
2个回答
1
投票

使用 mongodump 第二个分片上的数据,然后删除该数据库并添加分片。之后,您可以使用 mongorestore

导入转储数据

0
投票

虽然错误抱怨另一个分片,但根据我的经验

the problem was on the shard that I was adding itself
。如果您使用
db.adminCommand({ removeShard: "shard0000" })
优雅地删除了分片,那么您要添加的分片上可能有一个空数据库。删除该分片上的数据库,解决了问题,然后让我再次添加该分片。

© www.soinside.com 2019 - 2024. All rights reserved.