【问题标题】:When I create sharded collections, should it create chunks across more than 1 shard?当我创建分片集合时,它是否应该在超过 1 个分片上创建块?
【发布时间】:2013-12-16 17:25:07
【问题描述】:

我正在尝试确认我的 MongoDB 实例中的分片和分块行为是否正确。

我们有 2 个分片,每个分片都有一个副本集,并且有: (a) 使用 sh.enableSharding() 命令为我的数据库启用分片 (b) 通过 db.X.ensureIndex() 命令将 hashIndex 添加到新集合 (c) 通过 sh.shardCollection() 命令将分片集合添加到我的数据库中。

当我运行 sh.status 时,我注意到我的两个分片中只有一个包含块,这意味着我的数据没有分布。我添加了几个文档来测试处理,但我仍然只看到 1 个块。这是正确的行为吗?直观地说,我希望每个分片中有更多的 1..n 块。

提前致谢,

史蒂夫·韦斯特伍德

【问题讨论】:

    标签: mongodb sharding


    【解决方案1】:

    只有当第一个块达到一定大小时,Mongo 才会开始跨块拆分数据。当块少于 10 个时,当一个块增长到大约 16mb 以上时,它将分裂。当有更多块时,它会将它们拆分为 64mb。

    所以我希望您没有足够的数据来触发块拆分。

    您可以使用 mongos 的 chunkSize 选项覆盖这些块大小值,这对于测试很有用。

    【讨论】:

      猜你喜欢
      • 2020-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多