我正在尝试设置分片和副本集。
我的假设程序是这样的:
mongo
然后启动副本sharding
mongo
醇>
我做了什么:
mongod --replSet rs0 --dbpath data/rs0-0 --unixSocketPrefix data/rs0-0
mongo
然后rs.initiate()
mongod --configsvr --dbpath data/rs0-0 --unixSocketPrefix data/rs0-0
- 现在坚持第3步。
我发现错误
2017-05-22T20:00:13.857+0530 [initandlisten] exception in initAndListen: 10310 Unable to lock file: data/rs0-0/mongod.lock. Is a mongod instance already running?, terminating
我尝试了什么:
我已尝试使用--unixSocketPrefix选项的不同目录,但每次它都会点击data/rs0-0/mongod.lock
相同的文件。所以它没有奏效
这似乎是一个简单的问题,但无法弄清楚锁文件是如何在各种mongods之间共享的(无论是配置服务器,还是副本集,还是分片服务器)
我在mongodb 2.6.12
答案 0 :(得分:2)
您需要使用不同的 dbpath选项启动mongod
和config server
。
您可以按照以下步骤操作:
mongod --replSet rs0 --dbpath data/rs0-0 --unixSocketPrefix data/rs0-0
或
mongod --replSet rs0 --dbpath data/rs0-0
mongo
然后rs.initiate()
mkdir -p /data/configdb
(递归授予所需权限)
mongod --configsvr --dbpath /data/configdb --port 27019