Назад | Перейти на главную страницу

проблема с монгоидным подключением

Я пытался использовать Mongoid с Rails на Ubuntu. Mongodb отлично работал у меня с приложениями rails от 3.0 до 3.2.

Сегодня неожиданно получаю сообщение об ошибке:

/home/pravinmishra/.rvm/gems/ruby-1.9.2-p318/gems/mongo-1.5.2/lib/mongo/connection.rb:413:in `connect ': не удалось подключиться к главному узлу на localhost : 27017 (Mongo :: ConnectionFailure)

Я много раз сталкивался с этой проблемой, и следующие команды у меня работали:

sudo rm /var/lib/mongodb/mongod.lock
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
sudo start mongodb
sudo status mongodb

Когда я подключаюсь с терминала Ubuntu с помощью mongo, я получаю эту ошибку:

Версия оболочки MongoDB: 2.0.1 подключение к: test понедельник, 9 июля, 22:47:06 Ошибка: не удалось подключиться к серверу 127.0.0.1 shell / mongo.js: 84 исключение: сбой подключения

Любое предложение будет оценено.

Возможно, ваш экземпляр mongodb неожиданно завершил работу, и у вас устаревшие блокировки и база данных в несогласованном состоянии.

Как вы уже догадались, запустите mongoDB с --repair флаг, но после этого вам нужно перезапустить его снова без него.

Также убедитесь, что все процессы действительно завершены, иначе вы не сможете привязать сервер к тому же порту. Я бы рекомендовал выполнить netstat -tulnp и дважды проверьте, не прослушивает ли порт 27017 ничего.

Основываясь на вашем комментарии о старой ошибке файла блокировки, у вас либо уже запущен mongod, и вы пытаетесь подключиться к неправильному порту, либо у вас есть случай нечистого завершения ранее запущенного процесса mongod, и вам нужно удалить файл блокировки и перезапустите (возможно, с восстановлением в зависимости от характера нечистого завершения работы).

Если это произойдет снова, обязательно убедитесь, что вы работаете с включенным журналированием (по умолчанию в 2.0), тогда ремонт не потребуется.

Возможно, вы не сможете подключиться к локальному хосту по умолчанию: 27017, поскольку предыдущий экземпляр должен был завершиться неправильно из-за ошибок, исключений или блокировок. Пожалуйста, попробуйте убить предыдущие процессы, а затем снова запустить.