2015-05-07 38 views
1

我想在mongoDB上構建一個分片的集羣。但我在啓動數據庫分片或分片分片時遇到了一些問題 事情是我已成功將分片主機添加到分片組。你可以看到在這裏Mongo Sharding問題 - 這個數據庫沒有啓用分片

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" } 

,你可以在這裏看到該數據庫的文章正在分區和主主機是副本集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" } 

我不知道爲什麼會這樣,因爲一切都很好...

也分貝不被分割.. 。我的意思是我沒有關於rs2或rs3的任何數據...所以它顯然不工作..所以這顯然不工作..

+0

你是否分割了一個集合。 –

+0

是的...集合被稱爲zip ...我將編輯帖子,以便您可以看到它 –

+0

當您鍵入此db.adminCommand({enableSharding:「articles」})'你會得到什麼?你有多少個收藏夾?爲什麼我要問是因爲可能會發生這樣的情況:所有文檔都可以根據_id和集合大小位於一個分片中。 – Hakan

回答

0

這個問題是解決..這是由於一個副本集的配置錯誤..第三個節點rs1沒有正確設置..所以請注意,當你得到這個錯誤