Centos

MongoDB:為什麼 mongod 服務關閉?

  • April 8, 2019

當我使用守護程序服務啟動 mongodb 時,大約 2 分鐘後,系統(CentOS7.3)總是收到 MongoDB 的終止信號:

日誌:

$$ signalProcessingThread $$收到信號 15(已終止) 但是當我在 shell 中手動執行它時: /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: 從 forking 到 oneshot
[Service]
Type=oneshot
  1. 修改 config/Mongodb.conf:備註以下行:
#processManagement:
#fork: true

但我不知道為什麼,但現在效果很好。

請在您的mongod.service中檢查 PIDFile 的****值

$$ Service $$ …已刪除…

類型=分叉

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

…已刪除…

必須與/etc/mongod.conf中的pidFilePath具有相同的值:

流程管理:

叉:真

pidFilePath:/data/mongo/pid/mongod_27019.pid

希望這可以幫助您解決問題。

引用自:https://serverfault.com/questions/867444