デーモンサービスを使用して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...
私はこれを次のように解決しました:
デーモンを変更します:mongod.service:フォークからワンショットへ
[Service]
Type=oneshot
Config/Mongodb.confを変更します。次の行に注意してください:
#processManagement:
#fork: true
理由はわかりませんが、今はうまく機能しています。
mongod.serviceのPIDFileの値を確認してください:
[サービス]
...削除...
タイプ=フォーク
PIDFile =/data/mongo/pid/mongod_27019.pid
...削除...
/ etc/mongod.confのpidFilePathと同じ値にする必要があります:
プロセス管理:
フォーク:true
pidFilePath:/data/mongo/pid/mongod_27019.pid
これがあなたの問題に役立つことを願っています。