Назад | Перейти на главную страницу

MongoDB: почему служба mongod отключена?

Когда я использую службу демона для запуска mongodb, MongoDB всегда получает сигнал уничтожения системой (CentOS7.3) примерно через 2 минуты:

Журнал: [signalProcessingThread] получил сигнал 15 (завершен)

Но когда я запускаю его вручную в оболочке: /data/mongo/bin/3.4/mongod -f /data/mongo/config/uxdb_27019.conf --fork, он работает нормально.

Моя служба демона mongodb: /usr/lib/systemd/system/mongod.service

[Unit]
Description=mongodb
After=network.target·
After=syslog.target

[Service]|
Type=forking
User=mongo
ExecStart=/data/mongo/bin/3.4/mongod -f /data/mongo/config/uxdb_27019.conf
PrivateTmp=true
PIDFile=/data/mongo/pid/mongod_27019.pid
LimitFSIZE=infinity
LimitCPU=infinity
LimitAS=infinity
LimitNOFILE=32000
LimitNPROC=32000

[Install]
WantedBy=multi-user.target

Какой процесс завершает службу mongod?

2017-08-08T14:57:55.638+0800 I NETWORK  [conn12] received client metadata from 10.10.9.51:56714 conn12: { driver: { name: "mongo-java-driver", version: "3T_5.0.0-74-g1de6631-dirty" }, os: { type: "Windows", name: "Windows Server 2012 R2", architecture: "amd64", version: "6.3" }, platform: "Java/Oracle Corporation/1.8.0_121-b13" }
2017-08-08T14:59:14.169+0800 I CONTROL  [signalProcessingThread] got signal 15 (Terminated), will terminate after current cmd ends
2017-08-08T14:59:14.169+0800 I NETWORK  [signalProcessingThread] shutdown: going to close listening sockets...

Я решил это:

  1. Измените демон: mongod.service: с разветвления на oneshot

    [Service]
    Type=oneshot
    
  2. Измените config / Mongodb.conf: обратите внимание на следующую строку:

    #processManagement:
    #fork: true
    

Но я не знаю почему, но сейчас он работает хорошо.

Пожалуйста, проверьте валидность PIDFile в твоем mongod.service :

[Обслуживание]

... удалено ...

Тип = разветвление

PIDFile = / data / mongo / pid / mongod_27019.pid

... удалено ...

Должен иметь то же значение с pidFilePath в /etc/mongod.conf:

управление процессом:

вилка: правда
pidFilePath: /data/mongo/pid/mongod_27019.pid

Надеюсь, это поможет решить вашу проблему.