NameNode High Availability مع Quorum Journal Manager



يعد NameNode High Availability أحد أهم ميزات Hadoop 2.0 ، ويستخدم NameNode High Availability مع Quorum Journal Manager لمشاركة سجلات التحرير بين عُقد الاسم النشط والاستعداد.

هذه واحدة من أهم ميزات Hadoop 2.0. قبل مناقشة ميزة Namenode High Availability ، من الضروري معرفة ما هو Quorum. النصاب هو مصطلح عام يستخدم في التجميع حيث نقول أن مجموعة معينة مستقرة. يقدم النصاب قائمة بالآلات ويساعد في تحديد صحة الكتلة. هناك نوعان من النصاب القانوني: النصاب القانوني المتوقع والنصاب المحسوب.





انتظر واعلم في جافا

NameNode High Availability مع Quorum Journal Manager (QJM)

قبل Hadoop 2.0 ، كانت NameNode نقطة فشل واحدة (SPOF) في مجموعة HDFS. تحتوي كل مجموعة على NameNode واحدة ، وإذا كان هذا الجهاز غير متاح ، فلن تكون الكتلة ككل متاحة حتى يتم إعادة تشغيل NameNode أو بدء تشغيله على جهاز منفصل. في مجموعة HA الكلاسيكية ، يتم تكوين جهازين منفصلين على أنهما NameNodes. في أي وقت ، ستكون إحدى عقدات الاسم في الحالة النشطة والأخرى في حالة الاستعداد. تعد Active NameNode مسؤولة عن جميع عمليات العميل في الكتلة ، بينما يعمل Standby ببساطة كعبد ، ويحافظ على حالة كافية لتوفير تجاوز فشل سريع.

من أجل أن تحافظ عقدة الاستعداد على تنسيق حالتها مع العقدة النشطة ، تتواصل كلا العقدتين مع مجموعة من الشياطين المنفصلة تسمى 'JournalNodes' (JNs). عندما يتم تنفيذ أي تعديل لمساحة الاسم بواسطة العقدة النشطة ، فإنها تسجل سجل التغييرات التي تم إجراؤها ، في JournalNodes. العقدة الاحتياطية قادرة على قراءة المعلومات المعدلة من JNs ، وتراقبها بانتظام من أجل التغييرات. عندما ترى العقدة الاحتياطية التغييرات ، فإنها تقوم بعد ذلك بتطبيقها على مساحة الاسم الخاصة بها. في حالة تجاوز الفشل ، سوف يتأكد الاستعداد من أنه قد قرأ جميع التغييرات من JounalNodes قبل تغيير حالته إلى 'الحالة النشطة'. يضمن هذا مزامنة حالة مساحة الاسم بشكل كامل قبل حدوث تجاوز الفشل.



لتوفير تجاوز فشل سريع ، من الضروري أن تحصل العقدة الاحتياطية على المعلومات المحدثة والحالية المتعلقة بموقع الكتل في الكتلة. ولكي يحدث هذا ، يتم تكوين DataNodes مع موقع كل من NameNodes ، وإرسال معلومات موقع الكتلة ونبضات القلب إلى كليهما.

من الضروري أن يكون اسم واحد فقط نشطًا في كل مرة. وإلا ، فإن حالة مساحة الاسم ستنحرف بين الاثنين وتؤدي إلى فقدان البيانات أو نتائج خاطئة. من أجل تجنب ذلك ، فإن JournalNodes ستسمح فقط لعقد اسم واحد للكاتب في كل مرة. أثناء تجاوز الفشل ، ستتولى NameNode التي ستصبح نشطة مسؤولية الكتابة إلى JournalNodes.

لديك سؤال لنا؟ يرجى ذكرها في قسم التعليقات وسنعاود الاتصال بك.



المنشورات ذات الصلة:

نظرة عامة على اتحاد Hadoop 2.0 Cluster Architecture

ما هو مقرر علوم البيانات