ওয়্যার্ডটাইগার দিয়ে মোংগোডিবি 2.6 থেকে 3.0 এ কীভাবে স্থানান্তর করবেন


9

মঙ্গোডিবি 3.0 একটি নতুন স্টোরেজ ইঞ্জিন প্রবর্তন করেছে wiredTigerযার ফলশ্রুতিতে মেমরি এবং ডিস্কের স্থান ব্যবহারের পরিমাণ হ্রাস পেয়েছে।

যেহেতু আমার ডিবি বর্তমানে 20 মিলিয়ন ডলার অবজেক্টে রয়েছে এবং RAM 70 গিগাবাইট র‌্যাম ব্যবহার করছে তাই হার্ডওয়্যার আপডেট স্থগিত করার জন্য এই আপডেটটি সঠিক সময়ে আসে।

আপনি মংগোডিবি ২.6 থেকে ৩.০ এর একটি বিদ্যমান ইনস্টলেশন কীভাবে স্থানান্তরিত করবেন এবং একই সাথে তারযুক্ত টাইগারের সুবিধা পাবেন?

ডকুমেন্টেশনটি এমন বিকল্পগুলিকে বোঝায় যেগুলির ফলে প্রারম্ভকালীন ত্রুটি হয় যা মঙ্গোডিবিকে শুরু হতে বাধা দেয়। এছাড়াও, ফাইলের অবস্থানগুলি উবুন্টু (সার্ভার 14.04 এলটিএস) এর সাথে মেলে না।


এটি কি একক উদাহরণ (প্রতিরূপ সেট নয়)?
অ্যাডাম সি

উত্তর:


15

ডিফল্ট ইনস্টলেশনগুলিতে কনফিগারেশন ফাইলটি এখানে রয়েছে /etc/mongod.conf। মঙ্গোডিবি ডক্স যা উল্লেখ করে না তা হ'ল ওয়্যার্ডটাইগারে স্থানান্তরিত করার সময় আমাদের ২.6-এ প্রবর্তিত নতুন ওয়াইএএমএল ফর্ম্যাটে কনফিগারেশন ফাইলটি আপডেট করতে হবে।
যতদূর আমি বলতে পারি engineবিকল্পটি কেবলমাত্র নতুন কনফিগারেশন ফর্ম্যাটে উপলব্ধ।
পুরানো স্টোরেজ ইঞ্জিন থেকে স্থানান্তরিত করা একটি ডেটাবেস ডাম্প তৈরি করা, মঙ্গোদব বন্ধ করে দেওয়া, সেটিংস পরিবর্তন এবং তারপরে নতুন স্টোরেজ ইঞ্জিনে ডাম্প আমদানি করে।

  1. একটি ব্যাকআপ তৈরি করুন। সিরিয়াসলি। আমাদের একটি ডাটাবেস ডাম্প দরকার যা আমরা তখন নতুন ডাটাবেস ইঞ্জিনে আমদানি করব:

    mongodump -d db_name /backup/path/  
    
  2. মংডোব পরিষেবা বন্ধ করুন

    sudo service mongod stop  
    
  3. বর্তমান অবস্থান থেকে ডেটা অন্য কোথাও স্থানান্তরিত করুন (ডেটা ডিরেক্টরিতে পুরানো স্টোরেজ ইঞ্জিন দ্বারা উত্পন্ন ফাইলগুলি অন্তর্ভুক্ত থাকলে মঙ্গোডিবি আরম্ভ হবে না)।

    sudo mv /var/lib/mongodb /var/lib/mongodb_26/
    
  4. মঙ্গোডিবিকে সংস্করণ ৩.০-তে আপগ্রেড করুন ( http://docs.mongodb.org/v3.0/tutorial/install-mongodb-on-ubuntu/ থেকে ):

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10  
    echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list  
    sudo apt-get update  
    sudo apt-get install mongodb-org mongodb-org-server mongodb-org-shell mongodb-org-mongos mongodb-org-tools  
    
  5. পুরানো (প্রাক 2.6) থেকে কনফিগারেশন ফাইলটিকে বর্তমান YAML ফর্ম্যাটে রূপান্তর করুন। খালি সর্বনিম্ন হ'ল:

    storage:  
        dbPath: "/var/lib/mongodb"  
        engine: wiredTiger  
    
    systemLog:  
       destination: file  
       path: "/var/log/mongodb/mongod.log"  
       logAppend: true  
    
    net:  
        bindIp: 127.0.0.1  
        port: 27017  
        # Enable the HTTP interface (Defaults to port 28017).  
        http:  
            enabled: false  
    

    পুরানো ফর্ম্যাটে কোনও লাইন না থেকে বা মঙ্গোডিবি শুরু হবে না তা নিশ্চিত করুন।

    কনফিগারেশন ফাইলের সম্পূর্ণ ডকুমেন্টেশন হ'ল: http://docs.mongodb.org/v3.0/references/configration-options/

  6. Ptionচ্ছিকভাবে লগ একটি ব্যাকআপ করুন:

    sudo mv /var/log/mongodb/mongod.log /var/log/mongodb/mongod_26.log
    
  7. মংডোব পুনরায় চালু করুন

    sudo service mongod start
    
  8. নতুন স্টোরেজ ইঞ্জিনে ডেটা রূপান্তর করতে ব্যাকআপ লোড করুন

    mongorestore /backup/location
    

আপনার সমস্ত ডেটা ঠিক আছে কিনা তা যাচাই করার পরে, আপনি পুরানো ডেটা ফর্ম্যাট দিয়ে ডিরেক্টরিটি মুছতে পারেন

sudo rm -r /var/lib/mongodb_26/

দ্রষ্টব্য যে রেপ্লিকা সেট এবং শার্পড ক্লাস্টারের জন্য কিছু অ্যাডিশনাল পদক্ষেপ রয়েছে: http://docs.mongodb.org/v3.0/release-notes/3.0-upgrade/?_ga=1.86531032.1131483509.1428671022#change-replica-set-st સંગ્રહ -engine টু wiredtiger


1
দ্রষ্টব্য: YAML কনফিগারেশন ফাইলগুলির আরও সম্পূর্ণ উদাহরণের জন্য, ডিবিএতে
অ্যাডাম সি

1

পুরানো কনফিগারেশন ফাইল ফর্ম্যাটটি ব্যবহার করে , আমি এতে সাফল্য পেয়েছি:

storageEngine = wiredTiger

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