Подтвердить что ты не робот

Не удалось запустить локальный сервер mongodb

Я новичок в mongodb. Когда я попытался запустить локальный сервер mongodb с командой mongod, он не смог запустить и выбросил эту ошибку.

/usr/lib/mongodb/mongod --help for help and startup options
Sat Jun 25 09:38:51 MongoDB starting : pid=1782 port=27017 dbpath=/data/db/ 32-bit 

** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
**       see http://blog.mongodb.org/post/137788967/32-bit-limitations

Sat Jun 25 09:38:51 db version v1.6.3, pdfile version 4.5
Sat Jun 25 09:38:51 git version: nogitversion
Sat Jun 25 09:38:51 sys info: Linux vernadsky 2.6.24-27-server #1 SMP Fri Mar 12 01:45:06 UTC 2010 i686 BOOST_LIB_VERSION=1_42
Sat Jun 25 09:38:51 [initandlisten] *** warning: spider monkey build without utf8 support.  consider rebuilding with utf8 support
Sat Jun 25 09:38:51 [initandlisten] waiting for connections on port 27017
Sat Jun 25 09:38:51 [initandlisten] listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:27017
Sat Jun 25 09:38:51 [initandlisten]   addr already in use
Sat Jun 25 09:38:51 [initandlisten] now exiting
Sat Jun 25 09:38:51 dbexit: 

Sat Jun 25 09:38:51 [initandlisten] shutdown: going to close listening sockets...
Sat Jun 25 09:38:51 [initandlisten] shutdown: going to flush oplog...
Sat Jun 25 09:38:51 [initandlisten] shutdown: going to close sockets...
Sat Jun 25 09:38:51 [initandlisten] shutdown: waiting for fs preallocator...
Sat Jun 25 09:38:51 [initandlisten] shutdown: closing all files...
Sat Jun 25 09:38:51     closeAllFiles() finished

Sat Jun 25 09:38:51 [initandlisten] shutdown: removing fs lock...
Sat Jun 25 09:38:51 dbexit: really exiting now

Я попытался удалить файл mongod.lock... Я побежал mongod --repair.. Я также изменил права доступа к файлу mongod.lock.

но ничего не работает, он продолжает показывать ту же ошибку. что я должен делать?

Я также установил git версию 1.7.4.1 но он показывает nogitversion по ошибке.

4b9b3361

Ответ 1

Try:

sudo service mongod stop
sudo mongod

Чтобы остановить текущую активную службу mongodb, вы можете затем запустить новый

Ответ 3

Андреас Юнг:

"Сб июн 25 09:38:51 [initandlisten] listen(): bind() failed errno: 98 Адрес уже используется для сокета: 0.0.0.0:27017

является самоязычным.

Еще один экземпляр mongod уже запущен и выделяет порт по умолчанию MongoDB, который равен 27017.

Либо убить другой процесс, либо использовать другой порт.

В этом случае введите следующую команду

ps wuax | grep mongo

Вы должны увидеть что-то похожее на это

User           31936   0.5 0.4 2719784 35624   ?? S     7:34pm   0:09.98 mongod
User           31945   0.0 0.0 2423368   184 s000 R+   8:24pm   0:00.00 grep mongo

Теперь введите команду kill для экземпляра mongod (в этом случае 31936):

kill 31936

Ответ 4

Сб июн 25 09:38:51 [initandlisten] listen(): bind() failed errno: 98 Адрес уже используется для сокета: 0.0.0.0:27017

является самоязычным.

Еще один экземпляр mongod уже запущен и выделяет порт по умолчанию MongoDB, который равен 27017.

Либо убить другой процесс, либо использовать другой порт.

Ответ 5

Узнайте из netstat, в каком процессе выполняется порт mongodb (27017)

Команда:

sudo netstat -tulpn | grep :27017

Выход будет:

tcp        0      0 0.0.0.0:27017           0.0.0.0:* 
LISTEN      6432/mongod

В моем случае "6432" - это pid, в вашем случае это может быть другим. Затем уничтожьте этот процесс, используя следующую команду:

sudo kill <pid>

Вот оно!

Ответ 6

У вас уже есть процесс. Вы можете убить его командой:

killall mongod

Ответ 7

Использование:

sudo killall mongod

Он остановит сервер.

Затем запустите снова:

 mongod

он должен работать.

Ответ 8

Вы хотите сделать killall -15 mongod, потому что он все еще запущен, "Адрес уже используется для сокета: 0.0.0.0:27017". Затем вы можете снова запустить mongod.

Ответ 9

Попробуйте либо killall -15 mongod/killall mongod Даже после этого, если это не работает, удалите папку хранилища db, введя следующие команды: sudo rm -rf/data/db sudo mkdir/data/db sudo chmod 777/data/db

Ответ 10

Попробуйте использовать другой порт, если вы не можете найти какие-либо текущие запущенные процессы или убить их не работает. Например, попробуйте 27018, потому что по умолчанию 27017.

mongod  --port 27018

Я нашел это с помощью команды mongod --help

Ответ 11

OS X. Монитор активности, найдите mongod, пересечь его. затем снова запустите mongod. проблема решена.

Ответ 12

Откройте терминал и введите:

mkdir -p /data/db

Затем введите:

mongod

Ответ 13

MongoDB не может запускаться в основном из-за нечистого отключения. Чтобы исправить ошибку, удалите файл mongod.lock. Этот файл находится в папке с данными.

Узнайте, где находится ваша папка данных, просматривая файл mongodb.conf или mongod.conf. (Conf file под /etc в системах Linux.)

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb

Например, используя указанную выше конфигурацию, файл находится в /var/lib/mongodb/mongod.lock. Просто удалите его и перезапустите mongodb.

Ответ 14

попробуйте

/usr/lib/mongodb/mongod.exe --dbpath c: data\db

- dbpath (должен следовать путь вашего db)

Ответ 15

Возможно, сервер уже запущен. Проверьте его с помощью команды mongo.

Ответ 16

Я столкнулся с той же проблемой. Хотя служба mongodb не запущена, журнал показал сообщение address already in use.

 $netstat -tulpn | grep :27017 

ничего не возвращает

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

$grep "dbpath" /etc/mongodb.conf

dbpath =/var/lib/mongodb

$ls /var/lib/mongodb/mongod.lock

$service mongod start

Ответ 17

У меня была та же проблема, что я пытался открыть новый экземпляр mongod, и он сказал, что он уже запущен.

Я проверил docs и сказал, чтобы напечатать

mongo
use admin
db.shutdownServer()

Ответ 18

Проверьте журналы на /var/log/mongodb/mongod.log и попытайтесь вывести ошибку. В моем случае это было

Не удалось отсоединить файл сокета /tmp/mongodb -27017.sock errno: 1 Операция не разрешена

Удалено/tmp/mongodb-27017.sock, и оно сработало.

Ответ 19

Показывает ошибку listen(): bind() failed errno: 98 Адрес уже используется для сокета: 0.0.0.0:27017 то есть адрес 27017 уже используется какой-либо другой услугой.  пожалуйста, проверьте это "netstat -apt | grep" 27017 "" Команда

Ответ 20

(Если вы используете linux), если

mongod --shutdown --config=path/to/your/configFile.conf 

или

mongod --repair --config=path/to/your/configFile.conf 

не удалось устранить проблему, выйти из системы и повторно войти в систему. Это решило мою проблему.

Или вы можете убить процесс вручную из терминала, я думаю.

Ответ 21

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

Ответ 22

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

mongod --dbpath <path to the directory>