我正在尝试在mongoDB上构建分片群集。但是在启动db分片或集合分片时我遇到了一些问题 问题是我已成功将分片主机添加到分片集中。你可以在这里看到它
mongos> use admin
switched to db admin
mongos> db.runCommand( { listshards : 1 } );
{
"shards" : [
{
"_id" : "rs1",
"host" : "rs1/mongodb1:10001,mongodb2:10001,mongodb3:10001"
},
{
"_id" : "rs2",
"host" : "rs2/mongodb1:10002,mongodb2:10002,mongodb3:10002"
},
{
"_id" : "rs3",
"host" : "rs3/mongodb1:10003,mongodb2:10003,mongodb3:10003"
}
],
"ok" : 1
}
那里的一切都很好......
同样在配置数据库中我有分片,你可以在这里看到
mongos> use config
switched to db config
mongos> db.databases.find()
{ "_id" : "admin", "partitioned" : false, "primary" : "config" }
{ "_id" : "articles", "partitioned" : true, "primary" : "rs1" }
正如你在这里看到的那样,db文章正在被分区,主要主机是副本集1 ...这是rs1
现在......当我运行sh.status时......看看会发生什么
mongos> use articles
mongos> sh.status()
printShardingStatus: this db does not have sharding enabled. be sure you are connecting to a mongos from the shell and not to a mongod.
此外,我还有一个分片集,如您所见
mongos> use articles switched to db articles
mongos> sh.shardCollection("articles.zip",{"id_":1}) { "ok" : 0, "errmsg" : "already sharded" }
我不知道为什么会这样,因为一切都很好......
db也没有被分区...我的意思是我没有关于rs2或rs3的任何数据......所以它显然不起作用..
答案 0 :(得分:0)
此问题已解决..这是由于副本集的配置错误引起的... rs1上的第三个节点未正确设置..所以当你收到此错误时请注意