0
我正在嘗試部署mongodb分片。我已經在三臺機器上部署了一套副本。但是,當我嘗試將sh.addShard("test/mongodb1.example.net:27017")
添加到所有三個節點時,我仍然無法使其工作。所示的誤差是:無法在MongoDB中添加分片
2016-11-09T16:02:46.704+0800 W NETWORK [conn105] No primary detected for set team3
另一個錯誤:
{
"ok" : 0,
"errmsg" : "could not find host matching read preference { mode: \"primary\" } for set test",
"code" : 133
}
1)設置初始副本爲每個節點設置(這工作正常)
a)運行這些對所有3個節點:
mkdir /temp/data/team3
./mongod --replSet "team3" --dbpath /temp/data/team3
./mongo --host <mongodb[x].example.net>
b)中主節點運行:
rs.initiate()
rs.add("mongodb2.example.net")
rs.add("mongodb3.example.net")
2)設置配置服務器和查詢路由器三個副本集羣(這工作正常)
主節點上運行:
mkdir /temp/data/config_rs
./mongod --configsvr --replSet "config_rs" --dbpath /temp/data/config_rs
./mongo --host mongodb1.example.net --port 27019
3)添加碎片(問題與添加碎片)
主節點上運行:
sh.addShard("mongodb1.example.net")
sh.addShard("mongodb2.example.net")
sh.addShard("mongodb3.example.net")
你有沒有仔細檢查所有replicaset配置和狀態,你開始添加碎片之前? –