Сервер Mongod не Уокинг из-за следующей ошибки

   sanket@sanket:~$ sudo mongod
sudo: unable to resolve host sanket
[sudo] password for sanket: 
mongod --help for help and startup options
Sun Oct  5 09:58:48.970 [initandlisten] MongoDB starting : pid=2548 port=27017 dbpath=/data/db/ 64-bit host=sanket
Sun Oct  5 09:58:48.970 [initandlisten] db version v2.4.9
Sun Oct  5 09:58:48.970 [initandlisten] git version: nogitversion
Sun Oct  5 09:58:48.970 [initandlisten] build info: Linux orlo 3.2.0-58-generic #88-Ubuntu SMP Tue Dec 3 17:37:58 UTC 2013 x86_64 BOOST_LIB_VERSION=1_54
Sun Oct  5 09:58:48.970 [initandlisten] allocator: tcmalloc
Sun Oct  5 09:58:48.970 [initandlisten] options: {}
Sun Oct  5 09:58:49.101 [initandlisten] journal dir=/data/db/journal
Sun Oct  5 09:58:49.102 [initandlisten] recover : no journal files present, no recovery needed
Sun Oct  5 09:58:49.237 [initandlisten] ERROR: listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:27017
Sun Oct  5 09:58:49.237 [websvr] ERROR: listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:28017
Sun Oct  5 09:58:49.237 [initandlisten] ERROR:   addr already in use
Sun Oct  5 09:58:49.237 [websvr] ERROR:   addr already in use
Sun Oct  5 09:58:49.237 [initandlisten] now exiting
Sun Oct  5 09:58:49.237 dbexit: 
Sun Oct  5 09:58:49.237 [initandlisten] shutdown: going to close listening sockets...
Sun Oct  5 09:58:49.237 [initandlisten] shutdown: going to flush diaglog...
Sun Oct  5 09:58:49.237 [initandlisten] shutdown: going to close sockets...
Sun Oct  5 09:58:49.237 [initandlisten] shutdown: waiting for fs preallocator...
Sun Oct  5 09:58:49.237 [initandlisten] shutdown: lock for final commit...
Sun Oct  5 09:58:49.237 [initandlisten] shutdown: final commit...
Sun Oct  5 09:58:49.328 [initandlisten] shutdown: closing all files...
Sun Oct  5 09:58:49.328 [initandlisten] closeAllFiles() finished
Sun Oct  5 09:58:49.328 [initandlisten] journalCleanup...
Sun Oct  5 09:58:49.328 [initandlisten] removeJournalFiles
Sun Oct  5 09:58:49.390 [initandlisten] shutdown: removing fs lock...
Sun Oct  5 09:58:49.390 dbexit: really exiting now
sanket@sanket:~$ 
2
задан 7 October 2014 в 15:07

2 ответа

Попробуйте это:

ps wuax | grep mongo

необходимо видеть что-то, что похоже на это

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

, или найдите слово mongod.

и затем

sudo kill 10592

после того запуска mongod снова. для меня ее работа, для ошибки addr уже используют.

6
ответ дан 19 November 2019 в 01:01

Сервер, кажется, запущен как неправильный пользователь и не может получить доступ, это - файлы данных.

, Как Вы запускали его?
Вы выполняли его от оболочки как Ваш собственный пользователь, или как услуга?

Смотрят на владельца каталогов данных - это - пользователь, которого это должно выполнить как.

команда

ls -ld /data /data/db /data/db/journal

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

<час>

Хм... так, /data/db принадлежит useer mongodb - кажется правильным.
, Но в нем, /data/db/journal принадлежит root. Чувства неправильно мне.

Попытка sudo chown -R mongodb:mongodb /data/db/journal, тогда /data/db/journal со всеми файлами в нем принадлежит mongodb пользователю.

, Но существует независимая включенная проблема, который необходимо зафиксировать прежде:
sudo не работает и показывает ошибку sudo: unable to resolve host sanket-PC, что означает, что у Вас в настоящее время нет корневого доступа. См. сообщение об ошибке, когда я выполню sudo: неспособный разрешить хост (ни один) .

<час>

Вы сделали редактирование, заменяющее целый текст вопроса - не говоря, что изменилось, таким образом, вопрос имеет смысл.

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

Sun Oct  5 09:58:49.237 [initandlisten] ERROR: listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:27017
Sun Oct  5 09:58:49.237 [websvr] ERROR: listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:28017
Sun Oct  5 09:58:49.237 [initandlisten] ERROR:   addr already in use
Sun Oct  5 09:58:49.237 [websvr] ERROR:   addr already in use

порт выбран таким образом, что обычно нет никого использующего его ни для чего больше; Это означает, что это по всей вероятности mongod, который использует порт - значение, что там экземпляр, уже работающий.
Попытка pgrep -fa mongod для показа выполнения mongod процессы.

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

0
ответ дан 19 November 2019 в 01:01

Другие вопросы по тегам:

Похожие вопросы: