শেল থেকে স্টোরেজ ইঞ্জিন পরীক্ষা করুন


35

আমি 3.0 এ আপগ্রেড করছি এবং আপগ্রেড নিয়ে কিছু সমস্যা নিয়ে ছুটে এসেছি। বিশেষত, mongodমাধ্যমে শুরু করার চেষ্টা করার সময় আমি একটি ত্রুটি পেয়েছি ssh, এটি dbpathআমার নতুন YAML কনফিগারেশন ফাইলে আমি যেটি নির্দিষ্ট করেছি তার পরিবর্তে এটি ডিফল্টটি ব্যবহার করার চেষ্টা করেছিল । আমি এগিয়ে গিয়ে মেশিনটি রিবুট করেছিলাম এবং এখন mongodআবার চলছে running আমি এই মুহুর্তে কিছুটা অসম্পূর্ণ এবং স্টোর ইঞ্জিনটি wiredtigerশেল থেকে রয়েছে কিনা তা নিশ্চিত করার কোনও উপায় আছে কিনা তা জানতে চাই ।

উত্তর:


61

স্টোরেজ ইঞ্জিনটি বর্তমানে ব্যবহৃত হচ্ছে তা খুঁজে পাওয়ার সহজ উপায়।

মঙ্গো কনসোল প্রকারের ভিতরে

db.serverStatus().storageEngine

এটি বর্তমানে ব্যবহৃত স্টোরেজ ইঞ্জিনটি ফিরিয়ে দেয়

{ "name" : "wiredTiger" }

একবার এটি নিশ্চিত হয়ে গেছে যে তারযুক্ত টাইগার ব্যবহার হচ্ছে তখন টাইপ করুন

db.serverStatus().wiredTiger

তারযুক্ত টাইগার সমস্ত কনফিগারেশন বিশদ পেতে।


2
শুধু নিশ্চিত করতে, এটি উইন্ডোতেও কাজ করে।
ক্রিস প্যাটন

9

অস্বীকৃতি: মঙ্গোডিবি বিশেষজ্ঞ নন Not

লিনাক্সে প্রক্রিয়া তালিকা পরীক্ষা করুন

WIREDTIGER_CONFIGURED=`ps -ef|grep mongod|grep -i storageengine|grep -ic wiredtiger`
echo ${WIREDTIGER_CONFIGURED}

1 এর অর্থ এটি আছে

মঙ্গো শেল থেকে

db.serverStatus()

আপনার এমন কিছু দেখা উচিত

"wiredTiger" : {
   ...
   "cache" : {
      "tracked dirty bytes in the cache" : <num>,
      "bytes currently in the cache" : <num>,
      "maximum bytes configured" : <num>,
      "bytes read into cache" :<num>,

অথবা আপনি কেবল স্টোরেজ ইঞ্জিনের সাথে টানতে পারেন

db.serverStatus().storageEngine.name

আপনি হয় পাবেন mmapv1বাwiredTiger

বা কমান্ড লাইন থেকে

MONGO_ENGINE=`mongo -u... -p... --eval "db.serverStatus().storageEngine.name"`

আমি উবুন্টুতে আছি, তাই আমি লিনাক্স কমান্ডটি চেষ্টা করেছিলাম এবং এটি 0 দেখায়, তবে db.serverStatus () একটি তারযুক্ত টাইগার নোড দেখায়।
ton.yeung

ভালভাবেই হোক, db.serverStatus উত্সাহজনক is এটির সাথে আমি এগিয়ে যাব এবং আমার অন্যান্য সার্ভারগুলি আপডেট করব এবং একটি নির্দিষ্ট উত্তরের জন্য মঙ্গো সহ একটি টিকিট লাগাব।
টন.ইয়েং

এ সম্পর্কে কোন আপডেট? এটি চালানোর সময় আমি এখনও 0 পাই।
চৈতন্য.বরণসি

2
@ চৈতন্য.ভারণী দয়া করে অন্য উত্তরটি দেখুন। এটি আপনি চান কি আছে। স্পষ্টতার স্বার্থে, আমি এটি বলব: আপনি যদি মঙ্গোডিবি 3.x চালাচ্ছেন তবে কেবল চালান db.serverStatus().storageEngine.name। এটি হয় বলবে mmapv1বা wiredTiger
RolandoMySQLDBA

--storageEngineপ্যারামিটারের জন্য গ্রিপিং কেবলমাত্র সীমিত পরিস্থিতিতে কাজ করে, যেমন মঙ্গোডিবি 3.0 যেখানে পরামিতি স্পষ্টভাবে কমান্ড লাইনে সরবরাহ করা হয়েছে। সাধারণত mongodকনফিগারেশন মানগুলিতে একটি কনফিগারেশন ফাইলে সরবরাহ করা হয় যাতে সেগুলি psআউটপুটে উপস্থিত হয় না । মঙ্গোডিবি 3.2+ এ ওয়্যার্ডটাইগার হ'ল ডিফল্ট স্টোরেজ ইঞ্জিন তাই কোনও অতিরিক্ত প্যারামিটারের প্রয়োজন হয় না। ব্যবহারের জন্য প্রস্তাবিত পন্থা হ'ল শেলের db.serverStatus().storageEngine.nameমাধ্যমে আপনার দ্বিতীয় পরামর্শ mongo। এফওয়াইআই, যদি আপনি মোংগোডিবি ২.6 বা তার বেশি পুরানো ব্যবহার করেন তবে এটি কাজ করবে না: একমাত্র স্টোরেজ ইঞ্জিনটি ছিল এমএমএএপি।
স্টেনি

1

mongod.logফাইল একটি স্ট্রিং যা আপনি ব্যবহার করছেন কি স্টোরেজ ইঞ্জিন বর্ণনা দ্বারা জনবহুল পরার;
যাতে আপনি চালাতে পারেন:

cat /var/log/mongodb/mongod.log  | grep STORAGE | tail -n 1

যা এমন কিছু দেয়:

2017-06-28T21:45:24.745+0200 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=4G,session_max=20000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.