是否可以使多个mongo路由器仅连接到mongoDB分片群集上的一个分片?

时间:2019-05-23 09:40:49

标签: mongodb sharding

我想制作一个具有多个mongo路由器(mongos)的mongo集群,如图所示,它只有一个碎片(mongod)。

因此,我制作了两个名为“ mongorouter-1”,“ mongorouter-2”的mongo路由器,还制作了一个名为“ mongod”的碎片。
在mongorouter-1中,我使用此命令很好地添加了“ mongod”。
sh.addShard("mongod:27017")
效果很好,但是在mongorouter-2中,此命令输入了错误,例如

mongos> sh.addShard("mongod:27017")
{
    "ok" : 0,
    "errmsg" : "E11000 duplicate key error collection: admin.system.version index: _id_ dup key: { : \"shardIdentity\" }",
    "code" : 11000,
    "codeName" : "DuplicateKey",
    "operationTime" : Timestamp(1558591937, 1),
    "$clusterTime" : {
        "clusterTime" : Timestamp(1558591937, 1),
        "signature" : {
            "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
            "keyId" : NumberLong(0)
        }
    }
}  

在mongorouter-1中,sh.status是这个

mongos> sh.status()
--- Sharding Status --- 
  sharding version: {
    "_id" : 1,
    "minCompatibleVersion" : 5,
    "currentVersion" : 6,
    "clusterId" : ObjectId("5ce6683cc490bfc9325389cb")
  }
  shards:
        {  "_id" : "shard0000",  "host" : "mongod:27017",  "state" : 1 }
  active mongoses:
        "4.0.6" : 1
  autosplit:
        Currently enabled: yes
  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" : "config",  "primary" : "config",  "partitioned" : true }  

在mongorouter-2中,sh.status是这个

mongos> sh.status()
--- Sharding Status --- 
  sharding version: {
    "_id" : 1,
    "minCompatibleVersion" : 5,
    "currentVersion" : 6,
    "clusterId" : ObjectId("5ce668176a4dcc52fd230ac9")
  }
  shards:
  active mongoses:
  autosplit:
        Currently enabled: yes
  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" : "config",  "primary" : "config",  "partitioned" : true }

我不知道如何将多个mongo路由器连接到一个碎片。
如果您知道解决方案,请帮助我。预先感谢。

0 个答案:

没有答案