Добрый день.
При настройке mongodb столкнулся со следующей проблемой.
В /etc/mongod.conf прописываю включение authorization:
spoiler systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
processManagement:
fork: true # fork and run in background
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
net:
port: 27018
bindIp: 127.0.0.1 # Listen to local interface only, comment to listen on all interfaces.
security:
authorization: enabled
Конфиг /etc/mongos.conf:
spoilersystemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
processManagement:
fork: true # fork and run in background
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
net:
port: 27017
bindIp: 127.0.0.1 # Listen to local interface only, comment to listen on all interfaces.
sharding:
configDB: rs0/192.168.56.101:27019
Запускаю оба процесса. Все ОК. Но при попытке получить доступ к консоли mongo, появляется следующая ошибка:
spoilerMongoDB shell version: 3.2.16
connecting to: test
2017-09-21T17:42:57.997+0300 W NETWORK [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: errno:111 Connection refused
2017-09-21T17:42:57.997+0300 E QUERY [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:229:14
@(connect):1:6
exception: connect failed
При включенной опции authorization через ps auxf вижу три процесса mongos, тогда как с выключенной опцией один.
Как я понимаю, проблема в том, что три процесса пытаются использовать один и тот же порт.