অনুলিপিকরণ প্রক্রিয়া ব্যর্থ হয় এমনকি যদি আপনি একটি নতুন dbpath জিনিস কিছু করা হয় secondary.So থেকে আঁচড়ের দাগ শুরু oplog পরিবর্তন । ওপলগের আকারটি একটি সর্বোত্তম মানতে সেট করতে হবে যাতে এটি এতে সমস্ত অ্যাপ্লিকেশন লেখাকে পরিচালনা করতে সক্ষম হয়।
ওপ্লগের আকার বাড়ছে:
প্রাথমিক সার্ভারটি বন্ধ করুন
use admin
db.shutdownServer()
স্বতন্ত্র হিসাবে প্রাথমিক শুরু করুন এবং বিভিন্ন বন্দরে চালান বলুন 37017
37017 বন্দরে মঙ্গোতে লগইন করুন
mongo --port 37017
স্থানীয় ডাটাবেসে পুরানো সামগ্রীগুলি সরান
সুরক্ষার জন্য ড্রপ করার আগে পুরানো ওপলগের ব্যাকআপ রাখুন
mongodump --db local --collection 'oplog.rs' --port 37017
স্থানীয় ডাটাবেসে পুরানো সামগ্রীগুলি ফেলে দিন
use local
db.oplog.rs.drop()
db.me.drop()
db.replset.election.drop()
db.replset.minvalid.drop()
db.startup_log.drop()
রিপ্লसेट সংগ্রহ বাদ দেওয়া যায় না তাই এটি প্রয়োজনীয় আইডি দিয়ে সরান:
db.system.replset.remove({ "_id" : "your_replsetname"})
প্রয়োজনীয় আকারের একটি নতুন ওপ্লগ তৈরি করুন 50 জিবি বলে
db.runCommand( { create: "oplog.rs", capped: true, size: (50 * 1024 * 1024 * 1024) } )
এছাড়াও আপনি mongod.conf ফাইলে এমবিতে ওপলগের আকারটি নির্দিষ্ট করতে পারেন, 50 জিবি এর জন্য বলুন 429496 এমবি
replication:
oplogSizeMB: 429496
আশাকরি এটা সাহায্য করবে !!!
সম্পাদনা:
যেমনটি মন্তব্যে নিকোলাস টলি কটরেল উল্লেখ করেছেন। MongoDB ইন সংস্করণ 3.6 আমরা পুনর্সূচনা ছাড়া রানটাইম মধ্যে oplog আকার পরিবর্তন করতে পারেন।
বর্তমান ওপলগের আকার পরীক্ষা করুন
use local
db.oplog.rs.stats().maxSize
ওপলগের আকারটি 10 গিগাবাইটে পরিবর্তন করতে
db.adminCommand({replSetResizeOplog: 1, size: 10000})