Служба mongodb не запускается при наличии двух IP-адресов
5326
juanp_1982
в файле /etc/mongodb.conf у меня есть этот параметр bindIp: «127.0.0.1,192.168.1.51», 192.168.1.51 - мой частный ip, данный моим маршрутизатором. когда я делаю systemctl статус mongodb:
когда я проверяю /var/log/mongodb/mongod.log вот что я получаю:
2016-09-26T17:55:05.129-0600 I CONTROL [main] ***** SERVER RESTARTED ***** 2016-09-26T17:55:05.135-0600 I CONTROL [initandlisten] MongoDB starting : pid=2916 port=27017 dbpath=/var/lib/mongodb 64-bit host=goku 2016-09-26T17:55:05.135-0600 I CONTROL [initandlisten] db version v3.2.9 2016-09-26T17:55:05.135-0600 I CONTROL [initandlisten] git version: 22ec9e93b40c85fc7cae7d56e7d6a02fd811088c 2016-09-26T17:55:05.135-0600 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2i 22 Sep 2016 2016-09-26T17:55:05.135-0600 I CONTROL [initandlisten] allocator: tcmalloc 2016-09-26T17:55:05.135-0600 I CONTROL [initandlisten] modules: none 2016-09-26T17:55:05.135-0600 I CONTROL [initandlisten] build environment: 2016-09-26T17:55:05.135-0600 I CONTROL [initandlisten] distarch: x86_64 2016-09-26T17:55:05.135-0600 I CONTROL [initandlisten] target_arch: x86_64 2016-09-26T17:55:05.135-0600 I CONTROL [initandlisten] options: { config: "/etc/mongodb.conf", net: { bindIp: "127.0.0.1, 192.168.1.51", port: 27017 }, processManagement: { pidFilePath: "/var/run/mongodb/mongod.pid" }, security: { authorization : "enabled" }, storage: { dbPath: "/var/lib/mongodb", engine: "wiredTiger", journal: { enabled: true } }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log", quiet: true } } 2016-09-26T17:55:05.163-0600 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=6G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),f ile_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0), 2016-09-26T17:55:05.521-0600 I FTDC [initandlisten] Initializing full-time diagnostic data capture with directory '/var/lib/mongodb/diagnostic.data' 2016-09-26T17:55:05.521-0600 I NETWORK [HostnameCanonicalizationWorker] Starting hostname canonicalization worker 2016-09-26T17:55:05.522-0600 I NETWORK [initandlisten] waiting for connections on port 27017
Однако я могу запустить systemctl перезапустить Mongodb и все работает
Я отредактировал /usr/lib/systemd/system/mongodb.service и добавил следующие две строки:
Итак, вопрос на миллион долларов: что еще я должен / могу сделать, чтобы он работал во время запуска?
Спасибо за вашу помощь :-)
1 ответ на вопрос
1
Adam C
В ваших журналах говорится, что процесс начался успешно (последняя строка указала на успех), но ваш сервисный статус говорит, что он завершился.
Журналы, скорее всего, будут правильными, служба успешно запущена, но идентификаторы процессов ( PID) не совпадают. Ваш статус обслуживания выглядит как PID1070, а в журнале - 2916. Я подозреваю, что это ваша проблема, и моим основным подозреваемым в качестве причины будет pidFilePathвариант. Проверьте, что на самом деле находится в этом файле, и попробуйте удалить эту опцию, посмотрите, решит ли это проблему.
Спасибо за ваш ответ! при запуске моей системы файл pid не существует, и mongodb находится в состоянии сбоя. Но потом я могу запустить процесс `systemctl start mongodb` без проблем. Я также удалил опцию pidfilepath и получаю то же поведение
juanp_1982 8 лет назад
0
Вы, похоже, пропускаете журналы с ошибками состояний из вашего вопроса - журналы, которые вы разместили, не показывают неудачный запуск, они показывают успех. Можете ли вы опубликовать те с провалом? Да, и ваша ОС / версия тоже будет полезна.
Adam C 8 лет назад
0