我正在尝试向我的群集添加一个replicaset(只有一个主要成员,因为这只是一个测试部署),我收到一条错误消息,如下所示:
me@medev:~$ mongo --host dc2-mg2.domain.org --port 27017
MongoDB shell version: 2.6.5
connecting to: dc2-mg2.domain.org:27017/test
mongos> sh.addShard("jjrs1/mghost.domain.org:27017")
{
"ok" : 0,
"errmsg" : "in seed list jjrs1/mghost.domain.org:27017, host mghost.domain.org:27017 does not belong to replica set jjrs1"
}
mongos>
然而,当我登录mghost.domain.org并运行mongo shell,然后检查replicaset状态时,我得到以下结果:
jjrs1:PRIMARY> rs.status()
{
"set" : "jjrs1",
"date" : ISODate("2014-11-26T16:28:49Z"),
"myState" : 1,
"members" : [
{
"_id" : 0,
"name" : "mghost:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 69680,
"optime" : Timestamp(1417013013, 58),
"optimeDate" : ISODate("2014-11-26T14:43:33Z"),
"electionTime" : Timestamp(1416949715, 1),
"electionDate" : ISODate("2014-11-25T21:08:35Z"),
"self" : true
}
],
"ok" : 1
}
jjrs1:PRIMARY>
你能告诉我还有什么可以检查来验证我的设置吗?这个错误发生在我尝试添加的所有3个副本集中(它们都只有1个主要成员)。 我有一个配置服务器...和一个查询路由器。
感谢。
答案 0 :(得分:2)
我明白了。 根据rs.status()命令,mghost的名称不包括域。 所以我把sh.addShard命令更改为:
sh.addShard("jjrs1/mghost:27017")