Не удалось подключиться к серверу 127.0.0.1:27017



Я получаю следующую ошибку:



alex@alex-K43U:/$ mongo
MongoDB shell version: 2.2.0
connecting to: test
Thu Oct 11 11:46:53 Error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js:91
exception: connect failed
alex@alex-K43U:/$


вот что происходит, когда я пытаюсь запустить MongoDB:



* Starting database mongodb                                             [fail]


Я уже пробовал mongo --repair



Я сделал chown и chmod to var, lib и data / db и log mongodb.



не знаю, что еще сделать. Есть предложения?



mongodb.журнал:



***** SERVER RESTARTED *****


Thu Oct 11 08:29:40
Thu Oct 11 08:29:40 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.
Thu Oct 11 08:29:40
Thu Oct 11 08:29:41 [initandlisten] MongoDB starting : pid=1052 port=27017 dbpath=/var/lib/mongodb 32-bit host=alex-K43U
Thu Oct 11 08:29:41 [initandlisten]
Thu Oct 11 08:29:41 [initandlisten] ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
Thu Oct 11 08:29:41 [initandlisten] ** see http://blog.mongodb.org/post/137788967/32-bit-limitations
Thu Oct 11 08:29:41 [initandlisten] ** with --journal, the limit is lower
Thu Oct 11 08:29:41 [initandlisten]
Thu Oct 11 08:29:41 [initandlisten] db version v2.2.0, pdfile version 4.5
Thu Oct 11 08:29:41 [initandlisten] git version: f5e83eae9cfbec7fb7a071321928f00d1b0c5207
Thu Oct 11 08:29:41 [initandlisten] build info: Linux domU-12-31-39-01-70-B4 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_49
Thu Oct 11 08:29:41 [initandlisten] options: { config: "/etc/mongodb.conf", dbpath: "/var/lib/mongodb", logappend: "true", logpath: "/var/log/mongodb/mongodb.log" }
Thu Oct 11 08:29:41 [initandlisten] Unable to check for journal files due to: boost::filesystem::basic_directory_iterator constructor: No such file or directory: "/var/lib/mongodb/journal"
**************
Unclean shutdown detected.
Please visit http://dochub.mongodb.org/core/repair for recovery instructions.
*************
Thu Oct 11 08:29:41 [initandlisten] exception in initAndListen: 12596 old lock file, terminating
Thu Oct 11 08:29:41 dbexit:
Thu Oct 11 08:29:41 [initandlisten] shutdown: going to close listening sockets...
Thu Oct 11 08:29:41 [initandlisten] shutdown: going to flush diaglog...
Thu Oct 11 08:29:41 [initandlisten] shutdown: going to close sockets...
Thu Oct 11 08:29:41 [initandlisten] shutdown: waiting for fs preallocator...
Thu Oct 11 08:29:41 [initandlisten] shutdown: closing all files...
Thu Oct 11 08:29:41 [initandlisten] closeAllFiles() finished
Thu Oct 11 08:29:41 dbexit: really exiting now


EDIT:



Я снял замок, затем сделал ремонт mongod и получил эту ошибку:



Thu Oct 11 12:05:37 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating


так что я сделал это с sudo:



alex@alex-K43U:~$ sudo mongod --repair
Thu Oct 11 12:05:42
Thu Oct 11 12:05:42 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.
Thu Oct 11 12:05:42
Thu Oct 11 12:05:42 [initandlisten] MongoDB starting : pid=5129 port=27017 dbpath=/data/db/ 32-bit host=alex-K43U
Thu Oct 11 12:05:42 [initandlisten]
Thu Oct 11 12:05:42 [initandlisten] ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
Thu Oct 11 12:05:42 [initandlisten] ** see http://blog.mongodb.org/post/137788967/32-bit-limitations
Thu Oct 11 12:05:42 [initandlisten] ** with --journal, the limit is lower
Thu Oct 11 12:05:42 [initandlisten]
Thu Oct 11 12:05:42 [initandlisten] db version v2.2.0, pdfile version 4.5
Thu Oct 11 12:05:42 [initandlisten] git version: f5e83eae9cfbec7fb7a071321928f00d1b0c5207
Thu Oct 11 12:05:42 [initandlisten] build info: Linux domU-12-31-39-01-70-B4 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_49
Thu Oct 11 12:05:42 [initandlisten] options: { repair: true }
Thu Oct 11 12:05:42 [initandlisten] Unable to check for journal files due to: boost::filesystem::basic_directory_iterator constructor: No such file or directory: "/data/db/journal"
Thu Oct 11 12:05:42 [initandlisten] finished checking dbs
Thu Oct 11 12:05:42 dbexit:
Thu Oct 11 12:05:42 [initandlisten] shutdown: going to close listening sockets...
Thu Oct 11 12:05:42 [initandlisten] shutdown: going to flush diaglog...
Thu Oct 11 12:05:42 [initandlisten] shutdown: going to close sockets...
Thu Oct 11 12:05:42 [initandlisten] shutdown: waiting for fs preallocator...
Thu Oct 11 12:05:42 [initandlisten] shutdown: closing all files...
Thu Oct 11 12:05:42 [initandlisten] closeAllFiles() finished
Thu Oct 11 12:05:42 [initandlisten] shutdown: removing fs lock...
Thu Oct 11 12:05:42 dbexit: really exiting now


но все еще имея ту же проблему.

3265   23  

23 ответов:

журнал указывает, что mongodb завершается, потому что есть старый файл блокировки.

Если вы не работаете и не работали с журналированием, удалите файл блокировки, запустите repair и снова запустите mongodb.

Если вы работаете с включенным журналированием, см. соответствующие документы Mongo DB. Обратите внимание, что они говорят: "Если вы работаете с Журналированием, вы не должны делать ремонт для восстановления в согласованное состояние."Так, если вы вели дневник, то ремонт может сделали все еще хуже.

Step 1: Remove lock file.
sudo rm /var/lib/mongodb/mongod.lock

Step 2: Repair mongodb. 
sudo mongod --repair 

Step 3: start mongodb.
sudo start mongodb 
or
sudo service mongodb start

Step 4: Check status of mongodb.
sudo status mongodb 
or   
sudo service mongodb status

Step 5: Start mongo console.
mongo

ты mongod перед mongo?

я следовал инструкциям по установке mongodb от http://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/ и у меня была такая же ошибка, как и у вас, только когда я бежал mongo перед фактическим запуском процесса mongo с mongod. Я думал, что установка mongodb также запустит его, но вам нужно запустить его вручную с помощью mongod прежде чем вы сделаете что-нибудь еще, что нужно mongodb.

Это потому, что процесс mongod это вниз, вы должны запустить команды ниже, чтобы получить процесс mongod:

sudo service mongodb stop
sudo rm /var/lib/mongodb/mongod.lock
sudo mongod --repair --dbpath /var/lib/mongodb
sudo mongod --fork --logpath /var/lib/mongodb/mongodb.log --dbpath /var/lib/mongodb 
sudo service mongodb start

надеюсь, что это поможет вам.

попробовать

sudo service mongodb start

это решило мою проблему.

Проверьте свободное место в файловой системе и увеличьте его, если его меньше. Это также может привести к тому, что монго не начнет. Проверьте /var/log/mongodb / mongodb.журнал.

ERROR: Insufficient free space for journal files
Please make at least 3379MB available in /var/lib/mongodb/journal or use --smallfiles

попробуй mongod до mongo.

sudo /usr/sbin/mongod на моем opensuse

это решило мою проблему,

Так что сначала вы должны удалить mongod.блокировка файла с помощью команды ниже

sudo rm /var/lib/mongodb/mongod.lock

и затем перезапустите службу mongo, выполнив команду ниже

sudo service mongod restart 

вы можете проверить с netstat -anp | grep 27017 чтобы увидеть, если порт уже используется другим процессом.

это сработало для меня:

sudo rm /var/lib/mongodb/mongod.lock    
sudo service mongodb restart

в windows запустите cmd от имени администратора:

  1. создать папку:

    mkdir c:\mongo\data\db

  2. служба установки:

    mongod.exe --install --logpath c:\mongo\logs --logappend --bind_ip 127.0.0.1 --dbpath c:\mongo\data\db --directoryperdb

  3. Start MongoDB:

    net start MongoDB

4.Начать Монго Шелл:

c:\mongo\bin\mongo.exe

Это решение отлично работает для меня

я следовал за доком в http://docs.mongodb.org/manual/tutorial/install-mongodb-on-red-hat/.

после настройки и перезагрузки, выполнил sudo service mongod start и получил ... [FAILED].

наконец-то я нашел это mongod начали. Я думаю, что yum install добавил его в автозапуск.

чтобы проверить, если ваш mongod работает: service mongod status .

надеюсь, что это может помочь кому-то есть такая же проблема.

после частых попыток, наконец, я получил, чтобы устранить проблему...

Step 1: ps aux | grep mongo
Step 2: sudo rm /var/lib/mongodb/mongod.lock
Step 3: sudo mongod --repair
Step 4: mongo

эта ошибка может быть вызвана настройкой IP привязки MongoDB. Вы можете проверить конфигурационный файл MongoDB по

$ sudo vi /etc/mongodb.conf

В моем случае привязка IP устанавливается на адрес интрасети сервера, как и ниже:

bind_ip = 10.10.1.14 
#port = 27017

поэтому я дал монго параметр IP для подключения к оболочке по типу:

$ mongo 10.10.1.14

не забудьте перезапустить службу mongodb, если вы изменили конфигурацию.

у меня есть mongo версии 3.2.1 и пришлось удалить файл блокировки из /data/db/ и после этого побежал mongod и это началось успешно.

>rm /data/db/mongod.lock
>mongod

для дальнейшего использования,выполните следующие действия, чтобы избежать подобных ошибок:

1.Скачать MondoDB https://www.mongodb.com/

2.Откройте терминал и компакт-диск в Ваших загрузках папка или любая другая папка, которую вы сохранили для загрузки mondodb (убедитесь, что вы извлекли папку mongodb перед тем, как компакт-диск в нее)

cd Downloads

3.Переместить mongodb в ваш usr / local путь

sudo mv mongodb-osx-... /usr/local/mongodb

4.cd в вашу локальную папку

cd /usr/local/mongodb

5.сделайте новый каталог

sudo mkdir -p /data/db

6.cd в новый каталог, только что созданный выше

cd /data/db

7.дайте монго разрешения

sudo chown YourMacUserName /data/db

8.Тогда идите / откройте ваш .файл

для этого выполните следующие действия:

В а новый терминал

1.cd 2.pwd 3.ls -l

проверьте, если .файл появится в списке файлов на вашем терминале

если не создать -файл

создание .файл:

в терминале

сенсорный .файл

//пропустить этот шаг, если у вас уже есть .файл

Step8:

далее в терминале:

open .bash_profile

и ваш файл bash что всплывает открыть добавить следующее:

MONGO_PATH=/usr/local/mongodb
export PATH=$PATH:$MONGO_PATH/bin

а то сохранить.(Папка Сохранить или команда S / CMD+S)

Шаг 9: назад в ваш терминал:

source .bash_profile

теперь открыть два терминала.Одна воля для вашего Мондо демон другое для вашего монго.

Терминал 1: в вашем терминале тип: mongod

mongodb

выход: Mongod Terminal

терминал 2:

mongo

выход: Mongo terminal

также убедитесь, что вы не делаете следующую ошибку опечатки при запуске mongod в вашем терминале: это некорректно

mongo d

выдает следующее : не удалось подключиться к 127.0.0.1: 27017, in(проверка сокета на ошибку после опроса), причина: соединение отказано

этот правильно:

mongod

(между словами mongo и d не должно быть пробела.. mondod

наконец, всегда имейте в виду, что вы должны запустите mondod, прежде чем запускать mongo на своих терминалах.

после удаления mongod.блокировка, которая была внутри каталога данных в моей ОС windows, она все еще показывала то же сообщение об ошибке. Мне пришлось запустить mongod с --dbpath, чтобы команда mongo выполнялась без ошибок.

хотя ответы получены, я хотел бы обсудить о сетевых ошибках в MongoDB.

Network errors MongoDB

установка безопасных проблем записи не является полным методом доказательства, чтобы убедиться, что мы в безопасности. Предположим, что w=1 & j=true установлены, что делать, если подтверждение записи не получено от сервера? Ну, скорее всего, этого не произошло, но это могло произойти. Причина, по которой это могло произойти, заключается в том, что есть сетевые ошибки - есть причины, по которым мы можем не получить положительного ответа. Таким образом, мы можем отправить запрос из приложения через драйвер языка выбора. mongod может успешно завершить его, а затем может быть сброс TCP, и сеть на самом деле может получить сброс таким образом, что мы никогда не получим ответа. Таким образом, мы могли бы получить ошибку и на ошибку, мы могли бы предположить, что мы получили ошибку. Этого не случилось, но может случиться.

для вставки, можно защитить от него. Это возможно, потому что если мы позволим драйверу создать _id и мы делаем вставку-тогда мы могли бы сделать эту вставку несколько раз, и это будет какой-то вред. Потому что, если мы сделаем это 1 st время и мы получаем ошибку, и мы не уверены, завершена ли эта вставка, потому что это сетевая ошибка, тогда мы могли бы просто сделать это снова. И при условии, что мы выполним его снова, tyr выполнить его с точным _id. В худшем случае мы получим дубликат ключевой ошибки при попытке вставлять ее.

однако, обновление, где возникает проблема. Особенно, обновление, которое не является элементом мощным, что, например, включало в себя . Итак, мы говорим базе данных увеличить определенное поле. Ну в этом случае, если мы получаем сетевую ошибку, и мы не знаем, произошло ли обновление. Теперь, возможно, мы знаем достаточно о значениях, которые мы можем проверить с ними, что обновление произошло, и это нормально. Но если мы не знаем начальное значение в база данных для этого поля, то это не возможно для нас, чтобы знать, произошло ли это или нет в случае ошибки сети. Такого рода проблемы чрезвычайно редки с тонкой сетью.

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

причины, почему приложение может получить сообщение об ошибке обратно, даже если запись была успешной:

  • сетевое TCP-соединение между приложением и сервером было сброшено после получения сервером записи, но до отправки ответа.
  • The MongoDB сервер завершает работу между получением записи и ответом на нее.
  • сбой сети между временем записи и временем, когда клиент получает ответ на запись.

добавление Бина в путь в переменных среды помогло.

путь установки GOTO и скопируйте ../ bin к переменным пути в переменных среды в Windows

чт 11 октября 12: 05: 42 [initandlisten] не удается проверить файлы журнала из-за: boost:: filesystem::basic_directory_iterator конструктор: нет такого файла или каталога:"/data/db / journal" Чт окт 11 12: 05: 42 [initandlisten] закончил проверку dbs

в этой строке нет такого файла или каталога Итак, создайте папку / data / db на корень попробуйте "mongod" надеюсь, что это будет работать

тип windows+r и введите следующее

услуги.msc

запуск MongoDB

теперь введите "mongo" в cmd в соответствующем пути, где монго.exe присутствует, он начнет работать.

1.Создать новую папку на диске d D:/data/db

2.Открыть терминал ВКЛ D:/data/db

3.Введите mongod и введите.

4.Монго введите и введите.

и ваш mongodb strated............

просто запустить mongod --repair с C:\Program Files\MongoDB\Server.0\bin

вот документ https://docs.mongodb.com/manual/tutorial/recover-data-following-unexpected-shutdown/

Comments

    Ничего не найдено.