CentOS 5.x Linux с MongoDB 2.0.1 (пробовал main и legacy-static)
MongoDB работает:
root 31664 1.5 1.4 81848 11148 ? Sl 18:40 0:00 ./mongod -f mongo.conf -vvvvv --fork
Использование простой оболочки для подключения к серверу завершается неудачно:
[root@xxxx bin]# ./mongo
MongoDB shell version: 2.0.1
connecting to: test
Mon Oct 31 18:41:32 Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84
exception: connect failed
Веб-интерфейс на порту 28017 загружается нормально, как и при использовании оболочки MongoDB с удаленного хоста Linux. Может также telnet к localhost: 27017, что означает, что никакие порты не заблокированы. На этой машине также не работает SELinux. Я также попытался явно указать localhost:2017/db
безрезультатно.
$ ./mongo remote-ip:27017
MongoDB shell version: 2.0.1
connecting to: remote-ip:27017/test
> show dbs
local 0.03125GB
>
Журналы полностью мамы по теме:
.....
Mon Oct 31 18:40:34 [initandlisten] fd limit hard:1024 soft:1024 max conn: 819
Mon Oct 31 18:40:34 [initandlisten] waiting for connections on port 27017
Mon Oct 31 18:40:34 BackgroundJob starting: snapshot
Mon Oct 31 18:40:34 BackgroundJob starting: ClientCursorMonitor
Mon Oct 31 18:40:34 BackgroundJob starting: PeriodicTask::Runner
Mon Oct 31 18:40:34 [websvr] fd limit hard:1024 soft:1024 max conn: 819
Mon Oct 31 18:40:34 [websvr] admin web console waiting for connections on port 28017
Определение клиента оболочки mongo показывает только один проблемный вызов:
[pid 31708] connect(4, {sa_family=AF_INET, sin_port=htons(27017), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 EBADF (Bad file descriptor)
Файловая система чистая, без ограничений ulimit (работает как root для тестирования). Из строки сразу видно, что mongo
клиент пытается подключиться через TCP (AF_INET
), но, поскольку он локальный и MongoDB создает файловый сокет, есть ли способ сказать клиенту подключиться через него? Или, еще лучше, почему клиент выбрасывает EBADF?
РЕДАКТИРОВАТЬ: мой основной монго конф:
dbpath=/root/mongodb-linux-i686-2.0.1/data
logpath=/root/mongodb-linux-i686-2.0.1/logs/mongo.log
slowms=15
rest=1