MongoDB:为什么 mongod 服务关闭?

MongoDB:为什么 mongod 服务关闭?

当我使用守护进程服务启动 mongodb 时,大约 2 分钟后 MongoDB 总会收到系统(CentOS7.3)的终止信号:

日志:[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

请检查PID文件在你的mongod.服务

[服务]

...已删除...

类型=分叉

PID文件=/数据/mongo/pid/mongod_27019.pid

...已删除...

必须与pid文件路径/etc/mongod.conf

流程管理:

叉:真
pid文件路径:/data/mongo/pid/mongod_27019.pid

希望这可以帮助你的问题。

答案2

我通过以下方式解决了这个问题:

  1. 修改守护进程:mongod.service:从 forking 改为 oneshot

    [Service]
    Type=oneshot
    
  2. 修改 config/Mongodb.conf:注释掉以下行:

    #processManagement:
    #fork: true
    

但我不知道为什么,但它现在运行良好。

相关内容