复制集MongoDB中的分片

复制集MongoDB中的分片,mongodb,sharding,Mongodb,Sharding,我有mongoDb副本集、一个主副本集、一个辅助副本集和一个仲裁器来投票。我计划实现切分,因为数据预计将呈指数增长。我发现在遵循mongoDb文档进行切分时很困难。有人能解释清楚吗。提前感谢。如果您可以完成复制集,切分非常简单。这里非常重复fast forward中的mongo文档: 下面是一个示例设置:3个configDB和3个碎片 对于下面的示例,您可以在一台机器上运行所有这些功能,以查看所有功能是否正常工作 如果需要三个碎片,请设置三个副本集。(假设3个主要的是127:0.0.1:2700

我有mongoDb副本集、一个主副本集、一个辅助副本集和一个仲裁器来投票。我计划实现切分,因为数据预计将呈指数增长。我发现在遵循mongoDb文档进行切分时很困难。有人能解释清楚吗。提前感谢。

如果您可以完成复制集,切分非常简单。这里非常重复fast forward中的mongo文档:

下面是一个示例设置:3个configDB和3个碎片 对于下面的示例,您可以在一台机器上运行所有这些功能,以查看所有功能是否正常工作

  • 如果需要三个碎片,请设置三个副本集。(假设3个主要的是127:0.0.1:27000、127.0.0.1:37000、127.0.0.1:47000)
  • 将3个实例mongod作为3个配置服务器运行。(假设:127.0.0.1:27020227.0.0.1:27021127.0.0.1:270122)
  • 启动mongos(注意mongos中的s),让它知道配置服务器在哪里。(例:127.0.0.1:27023)
  • 从MongoShell连接到mongos,并将3个副本集中的三个主要mongod添加为碎片
  • 为数据库启用分片
  • 如果需要,为集合启用分片
  • 如果需要,请选择碎片密钥。(非常重要的是你第一次做对了!!!)
  • 检查碎片状态
  • 泵数据;连接到各个mongod Primary并查看分布在三个碎片上的数据
  • #start mongos with three configs:
    mongos --port 27023 --configdb localhost:27017,localhost:27018,localhost:27019
    
    mongos> sh.addShard("127.0.0.1:27000");
    { "shardAdded" : "shard0000", "ok" : 1 }
    mongos> sh.addShard("127.0.0.1:37000");
    { "shardAdded" : "shard0001", "ok" : 1 }
    mongos> sh.addShard("127.0.0.1:47000");
    { "shardAdded" : "shard0002", "ok" : 1 }
    mongos> sh.enableSharding("db_to_shard");
    { "ok" : 1 }
    mongos> use db_to_shard;
    switched to db db_to_shard
    mongos>
    mongos> sh.shardCollection("db_to_shard.coll_to_shard", {collId: 1, createdDate: 1} );
    { "collectionsharded" : "db_to_shard.coll_to_shard", "ok" : 1 }
    mongos> show databases;
    admin        (empty)
    config       0.063GB
    db_to_shard  0.078GB
    mongos> sh.status();
    --- Sharding Status ---
      sharding version: {
            "_id" : 1,
            "minCompatibleVersion" : 5,
            "currentVersion" : 6,
            "clusterId" : ObjectId("557003eb4a4e61bb2ea0555b")
    }
      shards:
            {  "_id" : "shard0000",  "host" : "127.0.0.1:27000" }
            {  "_id" : "shard0001",  "host" : "127.0.0.1:37000" }
            {  "_id" : "shard0002",  "host" : "127.0.0.1:47000" }
      balancer:
            Currently enabled:  yes
            Currently running:  no
            Failed balancer rounds in last 5 attempts:  0
            Migration Results for the last 24 hours:
                    No recent migrations
      databases:
            {  "_id" : "admin",  "partitioned" : false,  "primary" : "config" }
            {  "_id" : "test",  "partitioned" : false,  "primary" : "shard0000" }
            {  "_id" : "db_to_shard",  "partitioned" : true,  "primary" : "shard0000" }
                    db_to_shard.coll_to_shard
                            shard key: { "collId" : 1, "createdDate" : 1 }
                            chunks:
                                    shard0000       1
                            { "collId" : { "$minKey" : 1 }, "createdDate" : { "$minKey" : 1 } } -->> { "collId" : { "$maxKey" : 1 }, "createdDate" : { "$maxKey" : 1 } } on : shard0000 Timestamp(1, 0)