web-dev-qa-db-ja.com

MongoDB:mongodサービスがシャットダウンされる理由

デーモンサービスを使用してmongodbを起動すると、MongoDBは常に約2分後にシステム(CentOS7.3)によってkillシグナルを受信します。

ログ:[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
BlueSky

私はこれを次のように解決しました:

  1. デーモンを変更します:mongod.service:フォークからワンショットへ

    [Service]
    Type=oneshot
    
  2. Config/Mongodb.confを変更します。次の行に注意してください:

    #processManagement:
    #fork: true
    

理由はわかりませんが、今はうまく機能しています。

2
BlueSky

mongod.servicePIDFileの値を確認してください:

[サービス]

...削除...

タイプ=フォーク

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

...削除...

/ etc/mongod.confpidFilePathと同じ値にする必要があります:

プロセス管理:

フォーク:true
pidFilePath:/data/mongo/pid/mongod_27019.pid

これがあなたの問題に役立つことを願っています。

1
CakEkoL