মংডোব চলছে?


117

আমি আমার ইউনিক্স সার্ভারে মঙ্গোদব এবং পিএইচপি ড্রাইভার ইনস্টল করেছি।

আমার প্রশ্ন মঙ্গোদব চলছে কিনা আমি কীভাবে বলতে পারি? স্থিতি পরীক্ষা করার জন্য কি কোনও সাধারণ কমান্ড লাইন কোয়েরি রয়েছে? আমি যদি শেল থেকে একবার এটি শুরু করি তবে আমি শেলটি থেকে প্রস্থান করলে এটি চলতে থাকবে (এটি মনে হয় না)। আমি কীভাবে মঙ্গডব সংযোগটি স্থির রাখতে এবং সার্ভারের পুনরায় বুট করার জন্য অটো চালু করতে পারি?

আমি রান করতে পারি:

-বাশ-৩.২ $ সু
পাসওয়ার্ড:
[মূল @ xxx] # সিডি / ভার / লিব
[মূল @ xxx] # ./mongodb-linux-i686-1.6.5/bin/mongod
./mongodb-linux-i686-1.6। 5 / বিন / মঙ্গোদ - সহায়তা এবং সূচনা বিকল্পগুলির জন্য সহায়তা
বুধ 23 ফেব্রুয়ারী 08:06:54 মঙ্গোডিবি শুরু: পিড = 7271 পোর্ট = 27017 ডিবিপাথ = / ডেটা / ডিবি / 32-বিট

** দ্রষ্টব্য: মঙ্গোডিবি 32 বিট ব্যবহার করার সময়, আপনি প্রায় 2 গিগাবাইট ডেটা সীমাবদ্ধ
** দেখুন http://blog.mongodb.org/post/137788967/32-bit-limitations

** সতর্কতা: আপনি ওপেনভিজেডে চলছে। এটি ভেঙে গেছে বলে জানা গেছে !!!

বুধবার 23 ফেব্রুয়ারী 08:06:54 ডিবি সংস্করণ v1.6.5, পিডিএফাইল সংস্করণ 4.5
ফেব্রুয়ারী 23 08:06:54 গিট সংস্করণ: 0eb017e9b2828155a67c5612183337b89e12e291
বুধ 23 ফেব্রুয়ারী 08:06:54 sys তথ্য: লিনাক্স domU-12-31-39-01 -70-বি 4 2.6.21.7-2.fc8xen # 1 এসএমপি শুক্র
15 ফেব্রুয়ারী 12:39:36 EST ২০০ i i686 BOOST_LIB_VERSION = 1_37
বুধ 23 ফেব্রুয়ারী 08:06:54 [সূচনা] 27017
বুধ 23 ফেব্রুয়ারী বন্দরে যোগাযোগের অপেক্ষায় : 06:54 [websvr] ওয়েব অ্যাডমিন ইন্টারফেস পোর্ট 28017 শুনছে

যদি আমি একটি পৃথক শেলটি খুলি তবে আমি মঙ্গোডব এর সাথে সংযোগ স্থাপন করতে পারি:

-বাশ-৩.২ $ সিডি /
ভের / লিব -বাশ -৩.২ $। / মমংডব- লিনাক্স-i686-1.6.5 / bin / mongo মঙ্গোডিবি
শেল সংস্করণ: 1.6.5 এর
সাথে সংযুক্ত: পরীক্ষা
db.foo.find ()
{" _আইডি ": অবজেক্টআইড (" 4d63d7d3eb95985ab19c8feb ")," এ ": 1}

তবে আমি যদি প্রাথমিক শেলটি বন্ধ করি তবে আমি সংযোগ করতে পারি না:

-বাশ -৩.২ $ সিডি /
ভেরি / লিব -বাশ -৩.২ $। / মমংডব- লিনিক্স-i686-1.6.5 / bin / mongo মঙ্গোডিবি
শেল সংস্করণ: 1.6.5 এর
সাথে সংযোগ করছে: পরীক্ষার
বুধ 23 ফেব্রুয়ারী 08:25:10 ত্রুটি : সার্ভারের সাথে সংযোগ স্থাপন করতে পারেনি 127.0.0.1 (অ্যানন): 1154
ব্যতিক্রম: সংযোগ ব্যর্থ

উত্তর:


144

হয় সঙ্গে চেক করুন:

   ps -edaf | grep mongo | grep -v grep  # "ps" flags may differ on your OS

অথবা

   /etc/init.d/mongodb status     # for MongoDB version < 2.6

   /etc/init.d/mongod status      # for MongoDB version >= 2.6

অথবা

   service mongod status

মংড চলমান আছে কিনা তা দেখার জন্য (এটি করার জন্য আপনাকে রুট হওয়া দরকার, বা সমস্ত কিছু দিয়ে প্রিফিক্স করা উচিত sudo)। দয়া করে মনে রাখবেন যে 'গ্রেপ' কমান্ড সর্বদা পৃথক প্রক্রিয়া হিসাবে প্রদর্শিত হবে।

কোনও সমস্যা আছে কিনা তা দেখার জন্য লগ ফাইল /var/log/mongo/mongo.log দেখুন


20
হওয়া উচিত: পরিষেবা মঙ্গোদব স্থিতি
এমএইচডি সাইরওয়ান

12
আপনি একটি করতে পারেন pgrep mongo
slm

1
আমি এটি পেয়েছি: 501 5365 418 0 4:10 pm ttys000 0: 00.00 গ্রেপ মঙ্গো, তার মানে কি এটি চলছে?
L1ghtk3ira

1
পরিষেবা মংডোড স্থিতি আমার পক্ষে কাজ করেনি, তবে পরিষেবা মোংডব স্ট্যাটাসটি কাজ করে।
viks

5
মঙ্গো ২.6 থেকে সার্ভিসটি তার মঙ্গডব এর আগে মঙ্গোদ, হ্যাঁ বিভ্রান্তিকর
tsukimi

40

আমি খুজি:

ps -ax | grep mongo

অনেক বেশি ধারাবাহিক হতে হবে। প্রত্যাবর্তিত মানটি মংগডের কতগুলি দৌড় চলছে তা সনাক্ত করতে ব্যবহার করা যেতে পারে


6
এছাড়াও, আপনি যে গ্রেপ প্রক্রিয়াটি চালাচ্ছেন তা ফিরিয়ে না দেওয়ার জন্য আপনি একটি ফিল্টার যুক্ত করার বিষয়টি বিবেচনা করতে পারেন। সুতরাং: পিএস -এক্স | grep -v গ্রেপ | গ্রেপ মঙ্গো
ডিসিগস

34

মঙ্গোদব চলছে কিনা তা দ্রুত পরীক্ষা করার জন্য, এই দ্রুত এনসি ট্রিকটি আপনাকে জানাতে দেবে।

nc -zvv localhost 27017

উপরের কমান্ডটি ধরে নিয়েছে যে আপনি এটি লোকালহোস্টের ডিফল্ট পোর্টে চালাচ্ছেন।

এটি স্বয়ংক্রিয়ভাবে শুরু করার জন্য, আপনি এই থ্রেডটি দেখতে চাইবেন ।


1
হ্যাঁ, বন্দরে কিছু শুনছে কিনা তা খতিয়ে দেখলে এটি কাজ করে। যদি এটি হয় তবে আউটপুটটিতে 27017 openঅন্য কোনও উপাদান থাকবে Connection refused
আলেকজান্ডার


9

মংডোব ব্যবহারের বর্তমান চলমান স্থিতি পরীক্ষা করতে: sudo service mongodb status


8

সঠিক, শেলটি বন্ধ করা মঙ্গোডিবি বন্ধ করবে। --forkমঙ্গোদ প্রক্রিয়াটির জন্য কমান্ড লাইন আরগটি ব্যবহার করার চেষ্টা করুন যা এটি পরিবর্তে ডেমন হিসাবে চালিত করে। আমি কোনও ইউনিক্স গুরু নই, তবে আমি নিশ্চিত যে মেশিনটি বুট হয়ে গেলে স্বয়ংক্রিয়ভাবে শুরু করার কোনও উপায় অবশ্যই থাকতে হবে।

যেমন

mongod --fork --logpath /var/log/mongodb.log --logappend

মঙ্গো শুরু করা এবং থামানো সম্পর্কে সম্পূর্ণ ডকুমেন্টেশন দেখুন ।


ধন্যবাদ। আমি এটি পেয়েছি: [root@xxx lib]# ./mongodb-linux-i686-1.6.5/bin/mongod --fork --logpath /var/log/m ongodb.log --logappend all output going to: /var/log/mongodb.log forked process: 7518তবে এখনও যখন আমি শেলটি বন্ধ করি এবং একটি নতুন Connect failed

হুম, আমার পক্ষে কাজ করে (উবুন্টু bit৪ বিট ভিএম, মঙ্গো ভি ১. ,..6), সুতরাং আমি নিশ্চিত নই কেন এটি আপনার জন্য নয় টিবিএইচ। আপনি যদি এটি কাজ না করতে পারেন তবে মঙ্গোডব ফোরামে পোস্ট করা ভাল বাজি হতে পারে: গোষ্ঠীগুলি google.com/group/mongodb-user
AdaTheDev

তবে আমি এটি দিয়ে শুরু করেছি &এবং এখন আমি প্রসেসিডটি খুঁজে পাচ্ছি না।
bobobobo

@ বোবোবো - আপনি কীভাবে প্রক্রিয়া আইডি সন্ধান করার চেষ্টা করছেন?
তাস

ps -e | grep mongod
bobobobo

3

মোংগোডিবি স্থিতি পরীক্ষা করতে আপনি নীচের কমান্ডটি ব্যবহার করতে পারেন, উদাহরণস্বরূপ: sudo service MongoDB statusযা স্ক্রিনশটের মতো মঙ্গোডিবি পরিষেবার স্থিতি প্রদর্শন করে:

মঙ্গোডিবি স্ট্যাটাস


2

সম্ভবত কারণ আমি আমার ডেভ সার্ভারটি সঠিকভাবে বন্ধ করে নেই বা অনুরূপ কারণে। এটি ঠিক করতে, লকটি সরান এবং এর সাথে সার্ভারটি শুরু করুন: sudo rm /var/lib/mongodb/mongod.lock ; sudo start mongodb


1

আমি জানি এটি পিএইচপি এর জন্য, তবে আমি এখানে নোডের সমাধান খুঁজছিলাম। মঙ্গোস্কিন ব্যবহার:

mongodb.admin().ping(function(err) {
    if(err === null)
        // true - you got a conntion, congratulations
    else if(err.message.indexOf('failed to connect') !== -1)
        // false - database isn't around
    else
        // actual error, do something about it
})

অন্যান্য ড্রাইভারের সাথে, আপনি একটি সংযোগ স্থাপনের চেষ্টা করতে পারেন এবং যদি এটি ব্যর্থ হয় তবে আপনি মঙ্গো সার্ভারটি ডাউন কিনা জানবেন। মঙ্গোসকিনকে আসলে কিছু কল করা দরকার (পিংয়ের মতো) কারণ এটি অলসভাবে সংযোগ করে। পিএইচপি-র জন্য, আপনি চেষ্টা করতে-সংযোগের পদ্ধতিটি ব্যবহার করতে পারেন। একটি স্ক্রিপ্ট তৈরি করুন!

পিএইচপি:

$dbIsRunning = true
try {
  $m = new MongoClient('localhost:27017');
} catch($e) {
  $dbIsRunning = false
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.