MongoDB постоянно завершается с кодом выхода status=100 при запуске.

Вопрос или проблема

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

Active: failed (Result: exit-code) since Thu 2020-03-12 09:47:17 EDT; 6s ago
Docs: https://docs.mongodb.org/manual
Process: 1931 ExecStart=/usr/bin/mongod –config /etc/mongod.conf (code=exited, status=100)
Main PID: 1931 (code=exited, status=100)
Mar 12 09:47:14 myServer systemd[1]: Started MongoDB Database Server.
Mar 12 09:47:17 myServer systemd[1]: mongod.service: Main process exited, code=exited, status=100/n/a
Mar 12 09:47:17 myServer systemd[1]: mongod.service: Failed with result ‘exit-code’.

Также в файле логов:

Cannot start server with an unknown storage engine: mmapv1

Я пытался переустанавливать MongoDB, предоставлять пользователю mongodb право собственности на /var/lib/mongodb и удалять файл mongodb.lock, но ничего не помогло.

Любые предложения?

Я решил проблему, изменив механизм хранения на wiredTiger. Я сделал это, отредактировав /etc/mongod.conf и добавив “engine: wiredTiger” после “journal: enabled: true”

.

Ответ или решение

Каждый раз, когда вы сталкиваетесь с ошибкой MongoDB при запуске с кодом завершения status=100, это может вызывать серьёзные преграды в работе ваших приложений. В вашем случае, после изучения информации об ошибке, можно указать несколько путей решения, опираясь на предоставленную вами информацию.

Анализ и решение проблемы

  1. Понимание причины ошибки:

    • Исходное сообщение об ошибке говорит о невозможности запуска сервера MongoDB с неизвестным хранилищем mmapv1. Это указывает на то, что данная версия MongoDB больше не поддерживает указанный движок хранения.
  2. Установка поддерживаемого движка хранения:

    • Решение, которое вы применили, — использование wiredTiger, — является правильным. Это современный и рекомендуемый по умолчанию сервером MongoDB движок хранения, который улучшает производительность и сжатие данных.
  3. Правильное изменение конфигурации:

    • Для изменения конфигурации вы внесли правку в файл /etc/mongod.conf. Добавление строки engine: wiredTiger после journal: enabled: true позволяет MongoDB использовать поддерживаемый движок.
    storage:
     dbPath: /var/lib/mongodb
     journal:
       enabled: true
     engine: wiredTiger

Рекомендации по устранению проблемы

  • Проверка версии MongoDB:
    Убедитесь, что устанавливаете актуальную версию MongoDB, которая поддерживает необходимые функции и соответствует современным стандартам безопасности.

  • Проверка файловой системы:
    Убедитесь, что файловая система, где размещены данные MongoDB, настроена корректно, и у пользователя mongodb есть все необходимые права доступа к директории /var/lib/mongodb.

  • Удаление блокировки:
    Удаление файла блокировки mongodb.lock также может частично решить проблему, хотя полностью её не устраняет в случае неподдерживаемого движка.

Заключение

Следуя вышеуказанным шагам и рекомендациям, вы сможете успешно устранить ошибку status=100 при запуске MongoDB. Регулярное обновление конфигурации и следование документации MongoDB позволит избежать подобных ошибок в будущем. Если проблема сохраняется, рекомендуется обратиться к официальному ресурсу документации MongoDB для более углубленного ознакомления с возможными проблемами и их решениями.

Надеюсь, данное объяснение окажется полезным для устранения вашей проблемы. Если вам нужна дополнительная помощь, не стесняйтесь задавать уточняющие вопросы.

Оцените материал
Добавить комментарий

Капча загружается...