невозможно запустить локальный сервер mongodb - PullRequest
161 голосов
/ 25 июня 2011

Я новичок в 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 ..

Ответы [ 25 ]

173 голосов
/ 31 января 2013

Попробуйте:

sudo service mongod stop
sudo mongod

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

145 голосов
/ 08 августа 2012

Не убивайте процесс, используя сигнал -9, так как это может привести к повреждению: http://www.mongodb.org/display/DOCS/Starting+and+Stopping+Mongo#StartingandStoppingMongo-SendingaUnixINTorTERMsignal

Используйте sudo killall -15 mongod вместо

55 голосов
/ 02 октября 2014

Андреас Юнг:

"Сб 25 июня 09:38:51 [initandlisten] listen (): bind () завершилась ошибкой 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
29 голосов
/ 25 июня 2011

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

говорит само за себя.

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

Либо уничтожьте другой процесс, либо используйте другой порт.

27 голосов
/ 29 мая 2014

Узнайте из netstat, какой процесс запускает порт mongodb (27017)

команда:

sudo netstat -tulpn | grep :27017

Вывод будет:

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

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

sudo kill <pid>

Вот и все!

23 голосов
/ 17 июня 2016

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

sudo killall mongod

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

Затем перезапустите mongod:

sudo service mongod restart

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

22 голосов
/ 15 августа 2015

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

killall mongod
15 голосов
/ 03 февраля 2017

Вы хотите сделать killall -15 mongod, потому что он все еще работает: Address already in use for socket: 0.0.0.0:27017.

Затем вы можете снова запустить mongod.

7 голосов
/ 07 декабря 2015

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

mongod  --port 27018

Я выяснил это с помощью команды, mongod --help

7 голосов
/ 13 января 2018

Я предлагаю использовать вместо:

$sudo service mongodb stop

Это может сработать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...