我正在尝试在我们的 mongoDB 数据库上实现分片,这是场景
我们有 1 台服务器正在运行配置服务器
我们有 2 台服务器运行名为 node1 和 node2 的 mongod 实例
我们有 1 台服务器运行 mongos
我已使用以下命令将服务器 node1 和 node2 添加为 mongos shell 中的分片服务器
db.runCommand( { addhard : "serverhostname[:port]" } );
后来我在 node1 中创建了数据库,并从 Mongos 为该数据库启用了分片
现在我们有 2 个分片服务器,根据 MongoDB 文档,mongos 应该放置一些创建节点 1(数据库实际驻留的位置)的集合和节点 2 上的一些集合。
我从 mongos 创建了 300 个集合,但所有集合仍然只发送到一台服务器上面提到的支持中有什么问题
注意: - 由于我无法升级应用程序层,因此我无法在集合级别进行分片,因此我有一个脚本可以为某些要求动态创建多个集合。
请就我们如何在数据库级别进行分片提供您的建议,以便集合在所有分片服务器之间平均分配。
我正在寻找一些解决方案,例如
如果我自动创建 300 个集合,mongos 应该在两个分片服务器的每一个中创建大约 150 或 100 个集合。
提前感谢您介入并帮助我解决此问题。