মঙ্গোডিবি: কেন মংডোড সার্ভিস বন্ধ?


1

আমি যখন মংডোব শুরু করতে ডেমন পরিষেবা ব্যবহার করি, মংগোডিবি সর্বদা প্রায় 2 মিনিটের পরে সিস্টেমের মাধ্যমে কিল সংকেত প্রাপ্ত হয় (CentOS7.3):

লগ: [সিগন্যালপ্রসেসিং থ্রেড] 15 সিগন্যাল পেয়েছে (সমাপ্ত)

তবে আমি যখন শেলটিতে এটি ম্যানুয়ালি চালাচ্ছি: /data/mongo/bin/3.4/mongod -f /data/mongo/config/uxdb_27019.conf --fork, এটি ঠিক আছে।

আমার মোংডব ডেমন পরিষেবা: /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

কোন প্রক্রিয়াটি মঙ্গোদ পরিষেবা শেষ করে?

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...

--forkবিকল্পটি সরান । এটি কেবল কমান্ড লাইন কার্যকর করতে ব্যবহার করা উচিত। systemdএটি স্বয়ংক্রিয়ভাবে "ডিমনাইজাইজ" ব্যবহার করে, যাতে আপনার বিকল্পের প্রয়োজন হয় না।
নিল লুন

তবে আমি যখন --fork বিকল্পটি সরিয়ে দিই, এটি 2 মিনিটের পরেও বন্ধ হয়ে যায়
ব্লুস্কি

কিল সংকেতটি কোথা থেকে আসছে তা ট্র্যাক করার জন্য আপনাকে হয়ত mongodনীচে ছুটতে হবে strace। তবে --forkবিকল্পের এখানে কোনও স্থান নেই এবং এটি সরানো উচিত। স্ট্যাকওভারফ্লো / প্রশ্ন / 4078089/… এবং strace google.com/search?q=centos+trace+sigterm এর
নীল লুন

উত্তর:


2

আমি এর দ্বারা সমাধান করেছি:

  1. ডিমনটি পরিবর্তন করুন: মংডোড.সার্ভিস: কাঁটাচামক থেকে ওনশোটে

    [Service]
    Type=oneshot
    
  2. কনফিগার করুন / মংডোডব্যাকনফ: অনুসরণ করুন লাইনটি:

    #processManagement:
    #fork: true
    

তবে কেন জানি না, তবে এটি এখন ভালভাবে কাজ করে।


1

এর valie দয়া করে চেক করুন PIDFile আপনার mongod.service :

[পরিষেবা]

... মোছা ...

প্রকার = forking

PIDFile = / ডেটা / মোঙ্গো / PID / mongod_27019.pid

... মোছা ...

/Etc/mongod.confpidFilePath এর সাথে একই মান থাকতে হবে :

প্রক্রিয়া ব্যবস্থাপনা:

কাঁটাচামচ: সত্য
pidFilePath: /data/mongo/pid/mongod_27019.pid

আশা করি এটি আপনার সমস্যায় সহায়তা করতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.