Mongodb постоянно падает - PullRequest
       18

Mongodb постоянно падает

4 голосов
/ 09 августа 2011

Я использую один экземпляр mongodb, и база данных постоянно падает.Кто-нибудь знает, связана ли эта проблема с запуском в одном экземпляре?

вт 9 августа 09:02:59 [initandlisten] соединение принято с 127.0.0.1:60194 # 129526 вт 9 августа 09:17:04 [initandlisten] MongoDB запускается: pid = 517 порт = 27017 dbpath = / var / lib / mongodb 32-битный

** ПРИМЕЧАНИЕ: при использовании 32-битного MongoDB вы ограничены примерно 2 гигабайтами данных ** см.http://blog.mongodb.org/post/137788967/32-bit-limitations ** с параметром --dur, предел ниже

вт 9 августа 09:17:04 [initandlisten] db версия v1.8.2, версия pdfile 4.5 вт 9 августа 09:17:04 [initandlisten] git версия: 433bbaa14aaba6860da15bd4de8edf600f56501b вт 9 августа 09:17:04 [initandlisten] build информация о системе: Linux bs-linux32.10gen.cc 2.6.21.7-2.fc8xen # 1 SMP пт 15 февраля 12:39:36 EST2008 i686 BOOST_LIB_VERSION = 1_37


старый файл блокировки: /var/lib/mongodb/mongod.lock.Вероятно, означает, что нечистое завершение работы рекомендует удалить файл и запустить --repair. Для получения дополнительной информации см. http://dochub.mongodb.org/core/repair


Вт 9 августа, 09:17:05 Исключение [initandlisten] в initAndListen std :: exception: старый файл блокировки, завершающий вторник, 9 августа 09:17:05 dbexit: вторник, 9 августа 09:17:05 [initandlisten] shutdown: закрытие сокетов прослушивания ... вт 9, 09:17:05 [initandlisten] shutdown:собирается очистить diaglog ... Вторник, 9 августа 09:17:05 [initandlisten] shutdown: собирается закрывать сокеты ... Вторник, 9 августа 09:17:05 [initandlisten] shutdown: в ожидании предварительного выделения fs ... Вторник, 9 августа09:17:05 [initandlisten] shutdown: закрытие всех файлов ... Вторник, 9 августа 09:17:05 closeAllFiles () завершен Вторник, 9 августа 09:17:05 dbexit: действительно завершается сейчас

Ответы [ 3 ]

1 голос
/ 04 августа 2012

Две возможные проблемы:

Посмотрите на ulimit -a , чтобы увидеть, сколько открытых файлов вам разрешено.Каждое TCP-соединение считается открытым файлом.Аналогично, открываются фактические файлы.Установите для этого большого числа и посмотрите, прекращается ли сбой.

Кроме того, проверьте значение максимальных процессов , оно должно быть не менее 4096 или 8192 для занятого сервера (у нас наш номер 32768).Большинство этих процессов отслеживают соединения, поэтому они простаивают большую часть времени.Но даже в незащищенной системе вы можете приблизиться к этим пределам.

Чтобы проверить реальные открытые файлы:

lsof -p <pidnumber>

, чтобы проверить реальные процессы:

ps axo pid,ppid,rss,vsz,nlwp,cmd | egrep mongod

затем посмотрите столбец nlwp.

Чтобы это исправить, выполните:

man limits.conf
google: limits.conf pam setup ulimit change

, чтобы изменить значения в /etc/security/limits.d/nnn-username.conf

1 голос
/ 09 августа 2011

Это, конечно, не имеет ничего общего с mongoid, поскольку это даже не драйвер, поэтому он даже не подключается к вашему экземпляру db.
Кроме того, я бы порекомендовал вам публиковать ваши лог-файлы на https://jira.mongodb.org/.
(но не стесняйтесь добавлять дополнительную информацию к вашему вопросу, чтобы мы могли помочь вам здесь =).)

0 голосов
/ 02 апреля 2016

Обычно 32-битные данные поддерживают до 2 ГБ данных, если вы хотите сохранить больше, затем обновите до 64-битных. Если в 32-разрядном хранилище данных меньше 2 ГБ, попробуйте ~ $ mongod --repair , чтобы решить проблему нечистого отключения.

...