كيفيه التنصيب Cassandra Cluster على العقد المتعددة

⚡ ملخص ذكي

Cassandra Cluster تُجمّع هذه الصفحة عدة عُقد لتوزيع البيانات بحيث لا يستحوذ جهاز واحد على كل شيء. تشرح هذه الصفحة مكونات المجموعة، ومُقسّم البيانات، وحلقة الرموز، والمتطلبات الأساسية، وإعدادات التكوين التي تربط العُقد معًا، وكيفية التحقق من النتيجة.

  • 🧩 Cluster بناء: تشكل العقد مراكز البيانات، وتشكل مراكز البيانات مجموعة تعمل كقاعدة بيانات واحدة.
  • 🎯 دور المُقسِّم: ينتج عن تجزئة مفتاح التقسيم رمز مميز، ويحدد هذا الرمز المميز العقدة التي تخزن الصف.
  • 🌱 عقد البذور: البذور هي نقاط الاتصال التي يتواصل معها العقد الجديد أولاً؛ إنها ليست سادة.
  • ⚙️ الإعدادات الرئيسية: يجب ضبط cluster_name و seed و listen_address و rpc_address بشكل متسق في ملف cassandra.yaml.
  • 🚀 ترتيب بدء التشغيل: ابدأ بإنشاء العقد الأولية أولاً، واحدة تلو الأخرى، ثم قم بضم العقد المتبقية.
  • ✅ التحقق: يجب أن يسرد nodetool status كل عقدة على أنها UN مع ملكية متساوية تقريبًا.

اقامة Cassandra Cluster على العقد المتعددة

ما هي تفاصيل Cassandra Cluster?

A Cassandra المجموعة هي إحدى القواقع الموجودة في المجموعة بأكملها Cassandra قاعدة البيانات. ال Cassandra تحتوي المجموعة على العديد من الطبقات المختلفة من وحدات التخزين، وكل طبقة تحتوي على الأخرى.

منظمة كبيرة مثل Amazonتمتلك شركات مثل فيسبوك وغيرها كميات هائلة من البيانات لإدارتها. لذا، لا تستطيع هذه المؤسسات تخزين هذه الكميات الهائلة من البيانات على جهاز واحد. وهنا يأتي دور قواعد البيانات مثل Cassandra مع الهندسة المعمارية الموزعة.

تخزن هذه المؤسسات هذا الكم الهائل من البيانات على عدة خوادم. وتتواصل هذه الخوادم فيما بينها. ولهذا الغرض، Cassandra تم إنشاء المجموعة.

  • Cluster هي في الأساس مجموعة من العقد، بحيث يمكن للعقد التواصل مع بعضها البعض بسهولة.
  • العقدة المنسقة هي العقدة التي تستقبل طلب العميل وتتواصل مع النسخ المتماثلة نيابةً عنه. ويمكن لأي عقدة أن تعمل كمنسقة لأي طلب.

التقسيم

يحدد المقسم كيفية توزيع البيانات على المجموعة. يستخدم المقسم دالة تجزئة لتوزيع البيانات على المجموعة. يستخدم مفتاح التقسيم لحساب التجزئة. تسمى هذه التجزئة رمز. يتم توزيع البيانات على أساس هذا الرمز المميز.

المُقسِّم الافتراضي هو Murmur3Partitioner، الذي يُنتج رموزًا موزعة بالتساوي عبر نطاق ثابت. تمتلك كل عقدة نطاقًا واحدًا أو أكثر من هذا النطاق، وتشكل مجموعة النطاقات حلقة رمزية. لأن التعيين يتم عن طريق التجزئة وليس عن طريق القيمة، فإن إضافة عقدة لا تحرك سوى النطاقات التي تشغلها بدلاً من إعادة ترتيب مجموعة البيانات بأكملها.

المتطلبات الأساسية لـ Cassandra Cluster

هناك المتطلبات التالية لإعداد المجموعة.

  1. يجب أن يكون لديك عدة أجهزة، مادية أو افتراضية، تعمل كعقد.
  2. يجب أن تكون العقد قادرة على الوصول إلى بعضها البعض على الشبكة. يجب فتح المنافذ 7000 لحركة البيانات بين العقد، و7001 في حال تفعيل بروتوكول TLS، و9042 لاتصالات العملاء بينها.
  3. يجب تثبيت نظام لينكس على كل عقدة. إنه النظام الأساسي Cassandra تم اختباره ودعمه على.
  4. Apache Cassandra يجب تثبيته على كل عقدة، بنفس الإصدار. لا يمكن للإصدارات المختلطة إتمام اتفاقية المخطط.
  5. مدعوم JDK يجب تثبيته على كل جهاز، مع تعيين JAVA_HOME.
  6. يجب مزامنة الساعات مع بروتوكول NTP. Cassandra يقوم بحل عمليات الكتابة المتضاربة عن طريق الطابع الزمني، لذا فإن انحراف الساعة ينتج عنه نتائج خاطئة دون أن يلاحظها أحد.

الشرط الأخير هو الشرط الذي يتم إغفاله في أغلب الأحيان، وهو يسبب مشاكل في البيانات بدلاً من فشل بدء التشغيل.

.

كيفية تثبيت Cassandra Cluster على Linux

Cassandra يجب تثبيت البرنامج على كل جهاز قبل انضمام أي منها إلى المجموعة. لقطات الشاشة أدناه مأخوذة من برنامج التثبيت الرسومي DataStax Enterprise، والذي كان الخيار الشائع عند كتابة هذا الدليل. لم يعد هذا البرنامج متاحًا للاستخدام العام، لذا نعرض الطريقة الحالية أولًا، ثم نتبعها بمعالج التثبيت كمرجع.

الطريقة الحالية: تثبيت Apache Cassandra قم بتثبيت الحزمة أو الملف المضغوط الثنائي على كل عقدة بشكل متطابق، ثم تحقق من أن كل واحدة تبدأ بمفردها قبل محاولة ضمها.

tar -xzf apache-cassandra-x.y.z-bin.tar.gz -C /opt/
export CASSANDRA_HOME=/opt/apache-cassandra-x.y.z
$CASSANDRA_HOME/bin/cassandra -f

بمجرد بدء تشغيل عقدة واحدة بشكل سليم، قم بإيقافها، وامسح دليل البيانات الخاص بها، وانتقل إلى قسم تكوين المجموعة أدناه.

الخطوة 1) تشغيل Cassandra إعداد إصدار المؤسسة. تشغيل لينكس قم بتشغيل برنامج التثبيت من خلال الطرفية. ستظهر الصفحة التالية.

تثبيت Cassandra Cluster على Linux

هذه الصفحة لا توفر أي معلومات ضرورية. إنه يوفر فقط معلومات حول Cassandra إصدار. لذلك قم بتمرير هذه الصفحة واضغط على الزر التالي.

الخطوة 2) وافق على اتفاقية الترخيص. بعد الضغط على زر التالي، ستظهر الصفحة التالية.

تثبيت Cassandra Cluster على Linux

توفر هذه الصفحة معلومات حول الحزم والحزم الفرعية الموجودة في Cassandra سيتم تثبيت هذا البرنامج. سيُطلب منك أدناه الموافقة على الترخيص. ضع علامة في مربع "أوافق على الاتفاقية" ثم اضغط على زر "التالي".

الخطوة 3) قم بتثبيت برنامج البناء وانقر على "التالي". بعد الضغط على زر "التالي"، ستظهر لك الصفحة التالية.

تثبيت Cassandra Cluster على Linux

تسألك هذه الصفحة عن خيارات التثبيت.

  1. أولا وقبل كل شيء، سوف يطلب دليل التثبيت. بشكل افتراضي، يتم تثبيته في الدليل الرئيسي.
  2. بعد ذلك، يسألك عن نوع التثبيت، حدد تثبيت بسيط.
  3. بعد ذلك، يسألك عن نظام التحديث، حدده بـ "لا".
  4. بعد ذلك، سيطلب منك تحديد الواجهة الافتراضية. لديك خياران: يمكنك التثبيت على الخادم المحلي أو اختيار عنوان IP. اختر عنوان IP للتثبيت.
  5. اضغط على الزر التالي.

الخطوة 4) قم بإعداد العقدة وانقر على التالي. بعد الضغط على زر التالي، ستظهر الصفحة التالية.

تثبيت Cassandra Cluster على Linux

تسأل هذه الصفحة عن إعداد العقدة.

  1. أولاً، حدد نوع العقدة 'Cassandra العقدة'.
  2. بعد ذلك، في اسم الحلقة، أدخل اسم المجموعة الخاصة بك. Cluster يجب أن يكون الاسم هو نفسه لجميع العقد في نفس المجموعة.
  3. بعد ذلك، حدد العقدة الأساسية. العقدة الأساسية هي العقدة التي تتصل بها العقد الأخرى غير الأساسية عند بدء تشغيلها.
  4. بعد تقديم هذه المعلومات اضغط على الزر التالي.

الخطوة 5) قم بتثبيت برنامج المراقبة. بعد الضغط على زر "التالي"، ستظهر الصفحة التالية. تطلب هذه الصفحة إدخال عنوان IP الذي سيتم تثبيت البرنامج عليه.

  1. يلزم وجود هذا البرنامج الوكيل لوحدة التحكم في المراقبة، حيث يمكن مراقبة جميع العقد في مكان واحد.
  2. بعد تقديم هذه المعلومات، اضغط على الزر التالي.

تثبيت Cassandra Cluster على Linux

الخطوة 6) اضغط على التالي للتثبيت. بعد الضغط على زر التالي، ستظهر الصفحة التالية.

تثبيت Cassandra Cluster على Linux

الآن الإعداد جاهز للتثبيت. اضغط على الزر التالي.

الخطوة 7) انتظر حتى تكتمل عملية التثبيت. بعد الضغط على زر التالي، ستظهر الصفحة التالية.

تثبيت Cassandra Cluster على Linux

سيبدأ برنامج التثبيت.

الخطوة 8) انقر على زر "إنهاء". بعد التثبيت، ستظهر الصفحة التالية. في نفس الصفحة، ستجد علامة صح بجانب الخيار الذي يظهر افتراضيًا.

تثبيت Cassandra Cluster على Linux

تهيئة ملف cassandra.yaml لربط العقد

لا يؤدي التثبيت وحده إلى إنشاء مجموعة. لا تتعرف العقد على بعضها البعض إلا بعد توافق أربعة إعدادات في ملف cassandra.yaml، وهذا الملف هو المكان الذي تحدث فيه معظم أخطاء إعداد المجموعات.

cluster_name: 'Guru99 Cluster'
seed_provider:
  - class_name: org.apache.cassandra.locator.SimpleSeedProvider
    parameters:
      - seeds: "192.168.1.10,192.168.1.11"
listen_address: 192.168.1.10
rpc_address: 0.0.0.0
broadcast_rpc_address: 192.168.1.10
endpoint_snitch: GossipingPropertyFileSnitch
  • اسم المجموعة يجب أن تتطابق البيانات في كل عقدة. عدم التطابق هو السبب الأكثر شيوعًا لرفض العقدة الانضمام.
  • بذور يُدرج هذا الجدول نقاط الاتصال التي يتواصل معها العقدة البادئة. يكفي وجود عقدتين أو ثلاث عقد أساسية لكل مركز بيانات؛ إذ أن جعل كل عقدة عقدة أساسية يمنع بدء التشغيل التلقائي.ping.
  • عنوان الاستماع هذا هو العنوان الذي تستخدمه العقد الأخرى للوصول إلى هذه العقدة. يجب أن يكون عنوانًا حقيقيًا قابلًا للتوجيه، وليس localhost أبدًا.
  • endpoint_snitch يروي Cassandra تصميم الرفوف ومركز البيانات. غوسيpingيُعد PropertyFileSnitch الخيار المعتاد، مع تعيين القيم في cassandra-rackdc.properties.

يتطلب تغيير اسم المخبر أو اسم المجموعة بعد وجود البيانات خطوات إضافية، لذلك يجب تحديد كليهما قبل بدء تشغيل العقدة الأولى.

ابتداء Cassandra العقدة

بعد تثبيت Cassandra على كل عقدة، شغّل الخوادم واتبع الخطوات التالية. الترتيب مهم: شغّل عقد البذور أولاً، واحدة تلو الأخرى، وانتظر حتى تُبلغ كل عقدة عن جاهزيتها قبل تشغيل العقدة التالية. قد يؤدي تشغيل عدة عقد في وقت واحد إلى حدوث تعارضات في نطاق الرموز.

الخطوة 1) انتقل إلى Cassandra قم بتثبيت الدليل وابدأ تشغيل الخادم.

bin/cassandra -f

ابتداء Cassandra العقدة

بتنفيذ هذا الأمر، Cassandra سيتم تشغيل الخادم. إليك لقطة الشاشة حيث Cassandra الخادم قيد التشغيل.

ابتداء Cassandra العقدة

بعد دقيقة تقريبًا، سيبدأ تشغيل الخادم. ابدأ تشغيل كل خادم عقدة على حدة. بعد تشغيل جميع خوادم العقد، Cassandra المجموعة جاهزة للاستخدام.

الخطوة 2) تحقق من انضمام كل عقدة عن طريق فحص الحلقة من أي منها.

nodetool status
nodetool describecluster

يجب أن تظهر كل عقدة مع حالتها UNبمعنى "مُفعّل" و"عادي"، ويجب أن يُظهر عمود "المالك" نسبًا مئوية متساوية تقريبًا. ويؤكد إصدار واحد من المخطط في مخرجات الأمر describecluster أن جميع العُقد تتفق على المخطط.

ثلاثة أعراض تُغطي معظم حالات الفشل. عادةً ما يكون سبب عدم ظهور العقدة هو عدم تطابق اسم المجموعة (cluster_name) أو حظر المنفذ 7000. أما العقدة العالقة عند UJلا يزال الانضمام جارياً، ويحتاج فقط إلى بعض الوقت على مجموعة كبيرة. يشير التفاوت الكبير في الملكية إلى خطأ في تكوين برنامج التجسس، حيث تم وضع العقد في الرف أو مركز البيانات الخاطئ.

عندما تكون الحلقة سليمة، تحدد إعدادات النسخ المتماثل لكل مساحة مفاتيح كيفية انتشار البيانات عبرها، كما هو موضح في Cassandra مفتاح البرنامج التعليمي و Cassandra هندسة معمارية انفصال.

الأسئلة الشائعة

ثلاثة، بما يتوافق مع عامل النسخ القياسي البالغ ثلاثة. وهذا يسمح باستمرار عمليات القراءة والكتابة في نظام QUORUM أثناء تعطل إحدى العقد للصيانة أو بسبب عطل.

لا. تعمل البذور فقط كنقاط اتصال أثناء بدء التشغيل وتبادل المعلومات. فهي تخزن البيانات مثل أي عقدة أخرى، وفقدان إحداها لا يؤثر على المجموعة العاملة.

ثبّت نفس الإصدار، ووجّهه إلى البذور الموجودة، ثم ابدأ تشغيله. سيبدأ التشغيل تلقائيًا عن طريق بث نطاقات الرموز الخاصة به. شغّل أداة تنظيف العقدة (nodetool cleanup) على العقد الأخرى بعد ذلك.

بناءً على حجم البيانات، ومعامل النسخ، وأهداف الإنتاجية، يُنتج الذكاء الاصطناعي عددًا معقولًا من العقد الأولية. تحقق من ذلك باختبار التحميل، لأن تكاليف الضغط والإصلاح تعتمد على حجم العمل.

نعم. عادةً ما يؤدي توفير ملف system.log إلى جانب ملف cassandra.yaml إلى الكشف عن السبب بسرعة، وغالبًا ما يكون عدم تطابق اسم المجموعة، أو منفذ محظور، أو ترك listen_address على localhost.

تلخيص هذه التدوينة بـ: