Невозможно запустить MongoDB как сервис - PullRequest
61 голосов
/ 11 января 2011

Я занимаюсь разработкой для MongoDB уже несколько месяцев и хотел бы установить ее в качестве службы на моем компьютере с Windows 7 Enterprise.Ниже приведена команда, которую я выполнил для создания службы:

"D:\Milvia Systems\Development\MongoDB\mongod.exe" --logpath "D:\Milvia Systems\Development\MongoDB\logs\DBLog.log" --logappend --dbpath "D:\Milvia Systems\Development\MongoDB\db" -vvv --reinstall

Однако всякий раз, когда я использую net start "MongoDB" или панель управления службой, я получаю следующую ошибку:

Ошибка 1053: Служба не ответила на запрос запуска или управления своевременно.

Среда: 64-разрядная версия Windows 7 Enterprise MongoDB: 1.6.3 pdfile версия 4.5

Ответы [ 23 ]

2 голосов
/ 16 августа 2012

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

В этом случае служба не сможет создать файл блокировки.

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

пользователем по умолчанию для служб Windows будет localhost \ system.поэтому исправление состоит в том, чтобы этот пользователь мог записать в каталог db или запустить службу как другой пользователь, который может.

2 голосов
/ 09 февраля 2017

убедитесь, что открыли командную строку с правами «Запуск от имени администратора», щелкнув правой кнопкой мыши, прежде чем вводить все вещи Mongod

2 голосов
/ 11 марта 2015

По крайней мере, для версии 2.6 вы должны создать папки / data / db / и / log /, на которые указывает mongo.cfg. MongoDB сам не сделает этого и выдаст эту ошибку в ответ при запуске в качестве службы.

1 голос
/ 13 июля 2017

После того, как потратили полчаса на отладку ... Я наконец-то обнаружил, что перед атрибутом rest есть одна черточка.

mongodb as service

0 голосов
/ 11 ноября 2015

Ну, в моем случае у меня было мало места на диске, где у меня есть файлы данных MongoDB. Я проверил файл журнала MongoDB, в котором указано следующее

2015-11-11T21: 53: 54.717 + 0500 E JOURNAL [initandlisten] Недостаточно свободного места для файлов журнала 2015-11-11T21: 53: 54.717 + 0500 I JOURNAL [initandlisten] Пожалуйста, сделайте как минимум 3379MB доступным в C: \ wamp \ bin \ mongodb \ data \ db \ journal или используйте --smallfiles

Все, что мне нужно было сделать, это очистить место и снова запустить службу. Работало для меня. Так что все, что вам нужно, это проверить ваш файл журнала и решить проблему соответствующим образом.

0 голосов
/ 25 июня 2018

Если вы получили ошибку:

неверное имя службы

при запуске net start mongodb вам нужно будет выполнить следующую команду из шага 4 Ручного создания службы Windows для редактирования сообщества MongoDB:

sc.exe create MongoDB binPath= "\"C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe\" --service --config=\"C:\Program Files\MongoDB\Server\3.4\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"
0 голосов
/ 02 сентября 2017

Для меня проблема была не в том каталоге. Убедитесь, что вы скопировали и вставили каталог из проводника, а не в каталог, указанный на странице документов.

0 голосов
/ 05 мая 2017

Проверьте, запущен ли экземпляр процесса mongod. Если да, эта служба не запустится, потому что C:\data\db\mongod.lock будет использоваться им.

И чтобы запустить MongoDB как службу, этот файл не должен использоваться никаким процессом.

0 голосов
/ 04 июля 2014

Просто попробуйте запустить mongod.exe локально в командной строке, вы можете получить здесь исключение, которое mongod вызывает и попытаться решить его.В моем случае это было небольшое свободное место на локальном диске, поэтому я просто изменил расположение каталогов и изменил файл Mongocofig, и теперь он работает нормально.

0 голосов
/ 13 октября 2016

Не забудьте создать базу данных перед запуском службы

C:\>"C:\Program Files\MongoDB\Server\3.2\bin\mongod.exe" --dbpath d:\MONGODB\DB
2016-10-13T18:18:23.135+0200 I CONTROL  [main] Hotfix KB2731284 or later update is installed, no need to zero-out data files
2016-10-13T18:18:23.147+0200 I CONTROL  [initandlisten] MongoDB starting : pid=4024 port=27017 dbpath=d:\MONGODB\DB 64-bit host=mongosvr
2016-10-13T18:18:23.148+0200 I CONTROL  [initandlisten] targetMinOS: Windows 7/Windows Server 2008 R2
2016-10-13T18:18:23.149+0200 I CONTROL  [initandlisten] db version v3.2.8
2016-10-13T18:18:23.149+0200 I CONTROL  [initandlisten] git version: ed70e33130c977bda0024c125b56d159573dbaf0
2016-10-13T18:18:23.150+0200 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.1p-fips 9 Jul 2015
2016-10-13T18:18:23.151+0200 I CONTROL  [initandlisten] allocator: tcmalloc
2016-10-13T18:18:23.151+0200 I CONTROL  [initandlisten] modules: none
2016-10-13T18:18:23.152+0200 I CONTROL  [initandlisten] build environment:
2016-10-13T18:18:23.152+0200 I CONTROL  [initandlisten]     distmod: 2008plus-ssl
2016-10-13T18:18:23.153+0200 I CONTROL  [initandlisten]     distarch: x86_64
2016-10-13T18:18:23.153+0200 I CONTROL  [initandlisten]     target_arch: x86_64
2016-10-13T18:18:23.154+0200 I CONTROL  [initandlisten] options: { storage: { dbPath: "d:\MONGODB\DB" } }
2016-10-13T18:18:23.166+0200 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=8G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2016-10-13T18:18:23.722+0200 I NETWORK  [HostnameCanonicalizationWorker] Starting hostname canonicalization worker
2016-10-13T18:18:23.723+0200 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory 'd:/MONGODB/DB/diagnostic.data'
2016-10-13T18:18:23.895+0200 I NETWORK  [initandlisten] waiting for connections on port 27017

Тогда вы можете остановить процесс Control-C

2016-10-13T18:18:44.787+0200 I CONTROL  [thread1] Ctrl-C signal
2016-10-13T18:18:44.788+0200 I CONTROL  [consoleTerminate] got CTRL_C_EVENT, will terminate after current cmd ends
2016-10-13T18:18:44.789+0200 I FTDC     [consoleTerminate] Shutting down full-time diagnostic data capture
2016-10-13T18:18:44.792+0200 I CONTROL  [consoleTerminate] now exiting
2016-10-13T18:18:44.792+0200 I NETWORK  [consoleTerminate] shutdown: going to close listening sockets...
2016-10-13T18:18:44.793+0200 I NETWORK  [consoleTerminate] closing listening socket: 380
2016-10-13T18:18:44.793+0200 I NETWORK  [consoleTerminate] shutdown: going to flush diaglog...
2016-10-13T18:18:44.793+0200 I NETWORK  [consoleTerminate] shutdown: going to close sockets...
2016-10-13T18:18:44.795+0200 I STORAGE  [consoleTerminate] WiredTigerKVEngine shutting down
2016-10-13T18:18:45.116+0200 I STORAGE  [consoleTerminate] shutdown: removing fs lock...
2016-10-13T18:18:45.117+0200 I CONTROL  [consoleTerminate] dbexit:  rc: 12

Теперь ваша база данных подготовлена, и вы можете запустить службу, используя

C:\>net start MongoDB
The MongoDB service is starting.
The MongoDB service was started successfully.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...