2016-12-04 46 views
0

我學習MongoDB中建立分片,我打算有1 configsvr,1 shardsvr和1 mongos錯誤添加新片段由mongos殼

我使用

mongod --configsvr --replSet foo --dbpath e:\mongodb\configsvr --port 27019 
mongod --shardsvr --replSet foo --dbpath e:\mongodb\shardsvr --port 27018 

我開始mongod小號也連接到每個mongod s使用mongo --port 27019mongo --port 27018和執行rs.initiate()每個

我so started mongos使用

mongos --configdb foo/MY-PC:27019 

我終於連接使用mongomongos到我使用sh.addShard('foo/MY-PC:27018')

錯誤後得到了一個錯誤

{ 
    "ok" : 0, 
    "errmsg" : "Cannot add foo/MY-PC:27018 as a shard since it is part of a config server replica set", 
    "code" : 96 
} 

請幫助解決這個錯誤

感謝所有

回答

0

您將foo/MY-PC設置爲另一個mongo服務器的副本!它的數據將是該服務器的副本!

複製複製服務器的在其他的服務器數據,所以如果事情發生了,你不會失去你的數據!而Sharding打破你的數據分成部分,所以你可以通過同時訪問不同的服務器加快你的數據訪問速度。

因此,如果您將數據分成兩部分Data-A和Data-B,而您的主副本服務器保留數據-A,則foo/MY-PC將僅保留相同部分(數據-A)!

+0

我正在嘗試關注[本教程](https://docs.mongodb.com/manual/tutorial/deploy-shard-cluster/),瞭解有多少個'configsvr's和'shardsvr's是否需要?,請你幫我糾正我用來啓動'mongod'的參數 – Artisan

+1

如果我是你,我會首先**複製**,然後**分片**!對於分片設置,使用不同的名稱來傳遞--replSet(例如foo1,foo2,...)!還請查看[本教程](http://codingmiles.com/mongodb-sharded-cluster-deployment/),這更容易理解。 –