আপনার কি প্রতিটি নোডে নোডেটুল মেরামত চালাতে হবে?


12

আপনার কি nodetool repairএকটি ক্লাস্টারের প্রতিটি নোডে চালনা করতে হবে , বা আপনার কেবল একটি নোডে চালানো দরকার, এবং সেখান থেকে ক্যাসান্দ্রার বাকী অংশটি যত্ন নেবেন?

উত্তর:


9

ডকুমেন্টেশনটি সন্ধান করার জন্য, আমি এর জন্য একটি রেফারেন্স খুঁজে পেতে খুব কঠিন সময় পার করছি, তবে সংক্ষিপ্ত উত্তরটি "হ্যাঁ" nodetool repairআপনার ক্লাস্টারের প্রতিটি নোডে চালানো দরকার । সবচেয়ে কাছের আমি খুঁজে পাচ্ছি নোডগুলি মেরামত করার নথি যা আপনাকে পরামর্শ দেয় যে আপনার ক্লাস্টারের একাধিক নোডে একবারে মেরামত চালানো উচিত নয়।

আপনি পতাকা সহ মেরামতেরও চালাতে পারেন -pr, এটি মেরামত কার্যক্রমকে প্রথম টোকেন পরিসীমা সীমাবদ্ধ করে যা বর্তমান নোডের জন্য দায়ী। অবশিষ্ট নোডগুলিতে চালিত হওয়ার পরে এটি কাজের সদৃশতা কেটে দেয়।


সুতরাং আমি যদি -prপ্রতিটি নোডের সাথে চালিয়ে যাই , তবে এটি কি পুরো কীস্পেসকে কভার করবে?
2rs2ts

1
@ 2rs2ts হ্যাঁ, আপনি যদি -prপ্রতিটি নোড দিয়ে চালনা করেন তবে এটি পুরো কীস্পেসকে .েকে দেবে।
হারুন

1
ঠিক আছে ... আমি ধরে নিচ্ছি, তারপরে, আপনার এটি প্রতিটি নোডে চালানোর কথা তবে আপনি -prপতাকাটি দিয়ে সময় সাশ্রয় করতে পারবেন ।
2rs2ts

1
আমি অন্যান্য উত্তরে কিছু উত্স যুক্ত করেছি। এই উত্সটি মোটামুটি পরিষ্কার: "রুটিন মেরামত ফ্রিকোয়েন্সিটির কঠোর প্রয়োজনীয়তা হ'ল জিসি_গ্র্যাস_সেকেন্ডের মান this এই সময়ের মধ্যে প্রতিটি নোডে কমপক্ষে একবার মেরামতের অপারেশন পরিচালনা করুন ।" নোডগুলি মেরামত করছে
কার্ল জি

5

এটি কীভাবে আচরণ করে তা নির্ভর করে আপনার কনফিগারেশন, ক্যাসান্দ্রার কোন সংস্করণ আপনি ব্যবহার করেন এবং আপনি কীভাবে মেরামতের আদেশটি চালাচ্ছেন।

যদি আপনি কেবল nodetool repairএকটি ক্লাস্টারে কোনও একক নোডে চালনা করেন তবে এটি নোডের জন্য দায়ী এবং সেই ডেটার জন্য দায়ী অন্যান্য নোডের সমস্ত ডেটা (টোকেন রেঞ্জ) মেরামত করবে।

সুতরাং উদাহরণস্বরূপ, যদি আপনি nodetool repairপ্রদত্ত ক্লাস্টারে একটি নোডে কমান্ডটি চালিত হন:

  • আপনি যদি তিনটি নোড ক্লাস্টারটি চালাচ্ছেন তবে তিনটি নোডের একটি প্রতিরূপ ফ্যাক্টর সমস্ত ডেটার মালিক হবে এবং এইভাবে সমস্ত নোডের জন্য মেরামত করা হবে।
  • যদি আপনি 2 টির একটি প্রতিরূপ ফ্যাক্টর সহ একটি ছয় নোড ক্লাস্টার চালাচ্ছেন তবে ছয়টি নোডের মধ্যে দুটি কেবলমাত্র ডেটা মেরামত করা হবে। বাকি চারটি নোডের আরও দুটিতে মেরামতের কাজ শুরু করতে হবে।

এটি বলেছিল যে, হোস্ট এবং ডেটা সেন্টারগুলি ফ্ল্যাগ -hostsএবং -dcফ্ল্যাগগুলি ব্যবহার করে মেরামত করতে কোনটি সংজ্ঞায়িত করা সম্ভব । উপরন্তু আপনি ব্যবহার করেন -prপতাকা আপনি চালাতে হবে (যা শুধুমাত্র প্রথম টোকেন পরিসীমা নোড জন্য দায়ী বাছাই হবে) nodetool repair -prউপর সব ক্লাস্টারের মধ্যে নোড।

অন্য একটি পতাকা মাথায় রাখার জন্য -incপতাকাটি, যা ক্যাসান্দ্রা ২.১ এ অন্তর্ভুক্ত ছিল। এই বিকল্পটি কেবলমাত্র নতুন ডেটা মেরামত করবে (এমন ডেটা যা পূর্বে মেরামত করা হয়নি)। এটির উপর নির্ভর করার সময় সতর্কতা অবলম্বন করুন, বিশেষত যদি আপনি ঘন ঘন ডেটা মুছেন। (এ সম্পর্কে আরও )

আর কিছু মনে রাখবেন যে ক্যাসান্দ্রায় ডিফল্ট ভাবে মেরামত করা যেতে পারে vary ক্যাসান্দ্রা ২.১ হিসাবে কেবল চালিত হওয়ার সময় nodetool repairএটি ডিফল্টরূপে একটি সম্পূর্ণ ক্রমক্রমিক মেরামত করে। আপনার সংস্করণটি কী করে তা আপনি সন্ধান করতে চাইবেন।

বিষয়টিতে আরও পড়ার জন্য:

https://www.datastax.com/dev/blog/repair-in-cassandra


2
এখানে একমাত্র ভাল উত্তর
ruruskyi

2

না, আপনাকে প্রতিটি স্বতন্ত্র নোডে চালাতে হবে না। nodetool repairনোডের সেটে চলছে, যা ডকুমেন্টেশনে স্পষ্টভাবে বলা আছে ।

আপনি নোড বা ডেটা অংশ সীমাবদ্ধ করতে পারেন যার উপর আপনি মেরামতের চালাতে চান। উদাহরণস্বরূপ, আপনি -prপার্টিশনকারী রেঞ্জের জন্য বিকল্প সরবরাহ করতে পারেন , নোড দায়বদ্ধ এমন ব্যাপ্তি, তবে এটি পুরো ক্লাস্টারে চালাতে হবে। তবে আপনি যদি চয়ন করেন -localতবে নোডের স্থানীয় ডাটাসেন্টারের নোডগুলি মেরামত করা হবে।


4
nodetool repairসমস্ত কনফিগারেশনে সমস্ত নোডের সমস্ত প্রতিলিপিযুক্ত ডেটা মেরামত করার জন্য একটি নোডে চলমান যথেষ্ট নয়। nodetool repairএকটি একক নোডে চলমান কেবল সেই নোডের প্রতিলিপিযুক্ত ডেটা মেরামত করবে। ( -prবিকল্পটি যুক্ত করা এই মেরামতটিকে ডেটাতে সীমাবদ্ধ করে যার জন্য এই নোডটি প্রথম প্রতিলিপি)) তবে আপনার ক্লাস্টারে যদি এই নোডের প্রতিলিপি করা হয় না এমন ডেটা থাকে তবে আপনাকে অবশ্যই nodetool repairঅতিরিক্ত নোডে চালানো উচিত ।
কার্ল জি

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