ক্যাসান্দ্রা: রক্ষণাবেক্ষণ


9

আমি ক্যাসান্দ্রার সাথে অনভিজ্ঞ, তবে এসকিউএল-ভিত্তিক সম্পর্কযুক্ত ডাটাবেসগুলির সাথে আমার কিছু অভিজ্ঞতা আছে have

একবার ক্যাস্যান্ড্রা কীভাবে রক্ষণাবেক্ষণ করা যায় সে সম্পর্কে সেরা অনুশীলনের তথ্য খুঁজে পেতে আমি ব্যর্থ হয়েছি। এটি কি ডাটাবেস ভ্যাকুয়াম করা প্রয়োজন? আমার মনে করা উচিত যে পড়ুন / লেখার বোঝা স্টোরেজটিতে টুকরো টুকরো হয়ে যায়।

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

ধন্যবাদ।


ঠিক আছে, আমি এখন বুঝতে পারি যে সংযোগটি একটি বড় ব্যাপার এবং স্বয়ংক্রিয়ভাবে চালিত হয়; যাইহোক, দীর্ঘ সময় ধরে লিনাক্সে একটি ক্লাস্টার চালানোর সময় চিন্তা করার মতো অন্য কোনও বিষয় রয়েছে কি?
ময়ুর প্যাটেল

উত্তর:


14

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

পর্যবেক্ষণ অত্যন্ত গুরুত্বপূর্ণ:

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

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

3) নোডের অবস্থার পরিবর্তনগুলি (উপরে / ডাউন ইত্যাদি) পর্যবেক্ষণ করুন। আপনি যদি নোডগুলি ফ্লপিং দেখতে পান তবে এটি সাধারণ না হওয়ায় তদন্ত করুন।

৪) আপনার ডিস্কের ব্যবহারের উপর নজর রাখুন - traditionতিহ্যগতভাবে, আপনার 50% এর নিচে থাকতে হবে (বিশেষত আপনি যদি এসটিসিএস সংযোগ ব্যবহার করেন)।

কিছু বেসিক জিনিস রয়েছে যা আপনার নিয়মিত করা উচিত এবং করা উচিত নয়:

1) স্পষ্টভাবে চালাবেন না nodetool compact। আপনি উল্লেখ করেছেন যে আপনি এটি করেছেন, এটি মারাত্মক নয়, তবে এটি খুব বড় স্টেস্টেবল তৈরি করে, যারপরে সামনের দিকে এগিয়ে যাওয়ার সংযোগে অংশ নেওয়ার সম্ভাবনা কম less অগত্যা আপনার এটি চালিয়ে যাওয়া প্রয়োজন হবে না তবে কখনও কখনও এটি মুছে ফেলা / ওভাররাইট করা ডেটা থেকে মুক্তি পেতে সহায়তা করতে পারে।

2) nodetool repairসাধারণত প্রতি gc_grace_seconds(ডিফল্টরূপে 10 দিন) প্রস্তাবিত হয়। কাজের চাপ রয়েছে যেখানে এটি কম গুরুত্বপূর্ণ - আপনার মেরামত করা সবচেয়ে বড় কারণ হ'ল মুছে ফেলা চিহ্নিতকারীগুলি ( tombstones) তাদের মেয়াদ শেষ হওয়ার আগেই সঞ্চারিত হয়েছে তা নিশ্চিত করা (তারা বেঁচে gc_grace_secondsথাকে, মোছার ঘটনার সময় যদি কোনও নোড ডাউন থাকে, তবে ডেটা আবার ফিরে আসতে পারে) মেরামত ছাড়া!)। যদি আপনি মুছে না জারি করেন এবং আপনি পর্যাপ্ত ধারাবাহিকতা স্তরের সাথে কোয়েরি করেন (উদাহরণস্বরূপ কোরিয়ামে পড়ে এবং লেখেন), আপনি আসলে মেরামত ছাড়া জীবনযাপন করতে পারেন।

3) আপনি যদি মেরামত করতে যাচ্ছেন, তবে ইনক্রিমেন্টাল মেরামত ব্যবহারের বিষয়ে বিবেচনা করুন এবং একবারে ছোট ছোট রেঞ্জগুলি মেরামত করুন।

4) সংযোগ কৌশল গুরুত্বপূর্ণ - অনেক। এসটিসিএস লেখার জন্য দুর্দান্ত, এলসিএস পড়ার ক্ষেত্রে দুর্দান্ত। ডিটিসিএসের কিছু বিড়ম্বনা রয়েছে।

5) ডেটা মডেলগুলি গুরুত্বপূর্ণ - যেমন আনডেক্স করা প্রশ্নগুলি বড় টেবিলগুলিতে আঘাত করায় আরডিবিএমএস / এসকিউএল পরিবেশ যেমন সমস্যার মধ্যে পড়ে, তেমন ক্যাসান্দ্রা খুব বড় সারি / পার্টিশন নিয়ে সমস্যাযুক্ত হতে পারে।

6) স্ন্যাপশট সস্তা। খুব সস্তা। প্রায় তাত্ক্ষণিক, কেবল শক্ত লিঙ্কগুলি, তাদের তত্ক্ষণাত্ প্রায় কোনও ডিস্কের জায়গার ব্যয় হয়। সংস্করণগুলি বিশেষত বড় সংস্করণগুলি আপগ্রেড করার আগে স্ন্যাপশট ব্যবহার করুন।

7) মুছে ফেলার সাথে সাবধানতা অবলম্বন করুন। # 2 তে ইঙ্গিত হিসাবে, মোছা ডিস্কে আরও ডেটা তৈরি করে এবং এটিকে কমপক্ষে ছাড়ায় না gc_grace_seconds

যখন সমস্ত কিছু ব্যর্থ হয়:

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


1
জেফ দেরী হয়ে গেছে, কিছুটা ঘুমের কুঁড়ি!
অ্যারন

1
মানুষ, আমি এই এক তারিখ লক্ষ্য করিনি। সত্যিই দেরি হয়েছিল, তাই না?
জেফ জিরসা

2

মতে ক্যাসান্ড্রা মেরামতি ডকুমেন্টেশন , nodetool repairনিম্নলিখিত পরিস্থিতিতে চালানো হবে:

  • সেরা অনুশীলন হিসাবে, আপনার সাপ্তাহিক মেরামত করার সময়সূচী করা উচিত। দ্রষ্টব্য: যদি মুছে ফেলা কখনই ঘটে না, আপনার এখনও নিয়মিত মেরামতির সময় নির্ধারণ করা উচিত। সচেতন থাকুন যে কলামটি নালায় সেট করা মুছে ফেলা।
  • নোড পুনরুদ্ধারের সময়। উদাহরণস্বরূপ, ব্যর্থতার পরে ক্লাস্টারে কোনও নোড ফিরিয়ে আনার সময়।
  • ঘন ঘন পড়া হয় না এমন তথ্যযুক্ত নোডগুলিতে।
  • ডাউন হয়ে যাওয়া নোডে ডেটা আপডেট করতে।

আমার মনে করা উচিত যে পড়ুন / লেখার বোঝা স্টোরেজটিতে টুকরো টুকরো হয়ে যায়।

ক্যাসান্দ্রার ডেটা আপনি যেভাবে ভাবছেন তেমনভাবে "খণ্ডিত" হয় না। যাইহোক, মুছে ফেলা সমাধিস্থল স্থাপনের সূত্রপাত করে এবং সাধারণ কমপ্যাক্ট প্রক্রিয়া সমাধিস্তম্ভগুলি সরিয়ে দেয়।

আমি এখন বুঝতে পারছি যে সংযোগটি একটি বড় ব্যাপার এবং স্বয়ংক্রিয়ভাবে চালিত

সঠিক। আমাকে একটি ডেটাস্ট্যাক্স প্রতিনিধি বলেছিল যে একবার আপনি compactনিজে ম্যানুয়ালি চালানোর পরে আপনাকে সর্বদা এটি ম্যানুয়ালি চালাতে হবে। কারণটি হ'ল কমপ্যাকশনটি কোনও একক SSTABLE ফাইলে কীস্পেসে থাকা সমস্ত বিদ্যমান SSTABLES "সংযোগ" করে কাজ করে। আপনার এই স্টেস্টাবল ফাইলে কিছু কলাম পরিবার থাকতে পারে যা ছোট, এবং কমপ্যাকশন প্রান্তিকের বাইরে যেতে আরও বেশি সময় লাগবে, যে স্বয়ংক্রিয় সংযোগের পুনরায় সঞ্চয়ের সম্ভাবনা খুব কম।

মূলত, একটি নিয়মিত সময় নির্ধারণ করা নিশ্চিত করুন nodetool repair, কখনই চলবেন না nodetool compactএবং ব্যাকআপ কৌশল বাস্তবায়ন করুন (স্ন্যাপশটস, ইনক্রিমেন্টাল ব্যাকআপ বা উভয়)।


সুতরাং, আমি যদি দৌড়ে nodetool compactযাই তবে আমি আমার ক্লাস্টারটি না ফেলে আমি কি চিরদিনের জন্য বিনষ্ট হই? বা আবার কাজ শুরু করার জন্য স্বয়ংক্রিয় সংযোগ পাওয়ার কোনও উপায় আছে?
2rs2ts

1
@ 2rs2ts ভাল, "চিরকালের জন্য" নয়। একবার আপনি একটি ম্যানুয়াল কমপ্যাকশন চালানোর পরে ... "হ্যাঁ" আপনার এটি পর্যায়ক্রমে চালিয়ে যেতে হবে (আমরা আমাদের সাপ্তাহিক মেরামতের পরে সর্বদা এটি করব)। একটি DataStax প্রতিনিধির সঙ্গে এই নির্মল, কিন্তু আমি মনে করি যে আপনি একটি ঘটনা যে SSTABLE ফাইল (আপগ্রেড যখন আপনি চালাতে মত নতুন করে লেখা হয় আছে যদি upgradesstables) যে পারে জিনিষ থেকে তোমাকে রক্ষা করার জন্য যথেষ্ট রিসেট "ম্যানুয়াল সন্নিবিষ্ট জাহান্নাম।"
হারুন

ধন্যবাদ, মনে হয় আমি মনে করি। দুর্ভাগ্যজনক হলেও।
2rs2ts

1
অটো সংযোগ অবশেষে স্টেস্টেবল তৈরি করবে যা প্রাকৃতিকভাবে আউটপুটটির সাথে সংযোগ করার জন্য যথেষ্ট বড় nodetool compact। এছাড়াও, আপনি এখন অপ্রাকৃতভাবে বৃহত্তর স্থিতিশীলতা থেকে মুক্তি পেতে স্টেস্টেবলস্প্লিট ব্যবহার করতে পারেন, যাতে আপনি এটি "পূর্বাবস্থায়" রাখতে পারেন nodetool compact
জেফ জিরসা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.