(1)进行MongoDB分片集群部署过后,进入MongoDB的目录下,输入bin/mongo -port:30000,居然弹出错误:
MongoDB shell version: 3.0.7 connecting to: test 2015-10-30T10:34:27.215 0800 W NETWORK Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused 2015-10-30T10:34:27.216 0800 E QUERY Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at connect (src/mongo/shell/mongo.js:179:14) at (connect):1:6 at src/mongo/shell/mongo.js:179 exception: connect failed
(2)在查找这个问题过程中,发现是服务尚未启动,于是输入命令:./bin/mongod,结果又出现错误:
2015-10-30T10:34:43.844 0800 I STORAGE [initandlisten] exception in initAndListen: 29 Data directory /data/db not found., terminating 2015-10-30T10:34:43.844 0800 I CONTROL [initandlisten] dbexit: rc: 100
(3)这才想起这个错误是因为上次没有正常退出mongodb,直接就关掉终端才导致这种问题。然而对于这个问题网上的都只是单机版的解决办法,于是自己只能瞎碰运气。
单机情况下,都说是.lock文件的问题,但是由于采用的分片集群,位置肯定是跟他们不一样的,不过想想原理应该是相通的。于是从之前创建的shard11和shard21当中将mongod.lock文件去掉。
sudo rm ./data/shard11/mongod.lock.
sudo rm ./data/shard21/mongod.lock.
本来自己配置了6台的集群,想着先删除掉一台的再试看看。所以剩下的6台先不动看看。如其中一台仍有绿色的.lock文件。
(4)下一步按照单机解决的步骤是要进行重新配置。然而在分片集群中是没有.conf文件的,于是又重新将安装过程中所采用的配置步骤又重新运行一下:
./bin/mongod --configsvr --dbpath ./data/config --port 20000 --logpath ./data/config.log --logappend --fork
(5) 再进入bin/mongo -port:30000,果然搞定。