尝试设置本地分片群集进行测试(mongo 3.6)。在线有许多脚本(例如here,here),所有这些脚本似乎都失败了。
跑步(主要来自上面第二个例子):
启动配置服务器:
mongod --configsvr --replSet csrs --dbpath /data/db/configdb --port 27018 --fork --logpath log/mongods.log
在配置上启动副本集:
mongo localhost:27018 << !
rs.initiate({_id: "csrs", configsvr: true, members: [{_id: 0, host: "${local_ip}:27018"}]});
!
启动mongod进程:
mongod --port 27030 --dbpath /data/db/db1-0 --shardsvr --replSet rs --fork --logpath log/mongod1-0.log
mongod --port 27040 --dbpath /data/db/db2-0 --shardsvr --replSet rs --fork --logpath log/mongod2-0.log
mongod --port 27020 --dbpath /data/db/db0-0 --shardsvr --replSet rs --fork --logpath log/mongod0-0.log
mongo localhost:27020 << !
rs.initiate({_id: "rs", members: [{_id: 0, host: "${local_ip}:27020"}, {_id: 1, host: "${local_ip}:27030"}, {_id: 1, host: "${local_ip}:27040"}]});
!
(注意,初始脚本为每个分片都有一个单独的rs,导致相同的错误)
mongos --configdb csrs/${local_ip}:27018 --port 27017 --fork --logpath log/mongos.log
登录mongos并添加分片:
e.g。 sh.addShard("rs/${local_ip}:27020")
。
最后一步是出错,得到错误
"errmsg" : "Could not find host matching read preference { mode: \"primary\" } for set rs",
"code" : 133,
任何人都可以提供我在这里缺少的指示吗?