في الماضي، تحدث SPOTO ببساطة عن العقدة الفرعية SecondaryNameNode والاستمرارية في HDFS. في هذه المقالة، العقدة الفرعية SecondaryNameNode (يتم كتابة Snn كـ SNN): برامج مساعدة لمراقبة حالة HDFS، والتقاط لقطات من بيانات HDFS الوصفية على فترات منتظمة.
لقد ساهمت SPOTO بشكل كبير في تكنولوجيا البيانات الضخمة والشهادات المختلفة. أعلنت شركة Cisco عن تغيير كبير في الحصول على الشهادات وستقدم لك SPOTO أفضل دعم لامتحانك. سيتم الإعلان عن التغييرات في 24 فبراير 2020. تتوقع SPOTO أن يصبح الامتحان أكثر صعوبة، وأفضل وقت للحصول على الشهادة هو الآن. فيما يلي بعض التفاصيل حول Hadoop.
أولاً، حول SNN
العمل الرئيسي لـ SNN
(1) يسأل NameNode الثانوي عما إذا كان NameNode يحتاج إلى نقطة تفتيش.
قم بإعادته مباشرة إلى NameNode للتحقق من النتيجة.
(2) يطلب NameNode الثانوي تنفيذ نقطة التفتيش.
(3) يقوم NameNode بالتمرير خلال سجل التحرير الذي يتم كتابته.
(4) انسخ سجل التحرير وملف الصورة قبل التمرير إلى اسم العقدة الثانوية.
(5) يقوم اسم العقدة الثانوي بتحميل سجل التحرير وملف الصورة في الذاكرة ودمجهما.
(6) قم بإنشاء ملف صورة جديد fsimage.chkpoint.
(7) انسخ fsimage.chkpoint إلى NameNode.
(8) يقوم NameNode بإعادة تسمية fsimage.chkpoint إلى fsimage.
ثانياً، المثابرة
بعد التعرف على العمل الرئيسي لـ SNN، دعونا نتحدث عن آلية عمل SNN وNN، وهي Namenode.
مخطط آلية عمل SNN وNN
إتقان مجموعة من البيانات الوصفية في NN (البيانات الوصفية هي البيانات التي تصف البيانات) - مخزنة في الذاكرة
1. القرص الصلب، ذاكرة كبيرة، رخيص لكنه بطيء
2. الذاكرة صغيرة ومكلفة ولكنها سريعة
2.1 ما هو المثابرة؟
الاستمرارية: للحفاظ على البيانات الوصفية آمنة، ضع البيانات في الذاكرة على القرص.
عندما تواجه مجموعتنا مشاكل بسبب أسباب خاصة مثل انقطاع التيار الكهربائي، يتم حل المشكلة، وعند إعادة تشغيل الطاقة، سيتم قراءة البيانات الوصفية الموجودة على القرص واستعادتها إلى الحالة التي كانت عليها قبل انقطاع التيار الكهربائي.
إذن لماذا لا يمكن استمرار NN؟
في الواقع، يمكننا القول إن الشبكة العصبية يمكن أن تستمر، أو يمكننا القول إنها لا يمكن أن تستمر. إذن متى يمكنني الاستمرار عندما لا أستطيع الاستمرار؟
يمكن للشبكة العصبية أن تقوم بالثبات: الطلب صغير، واستخدام صغير للذاكرة، وعدم التأثير على كفاءة الحوسبة
لا يمكن أن تكون الشبكة العصبية ثابتة: نظرًا لأن الشبكة العصبية نفسها لديها الكثير من العمل، فمن الممكن اغتنام الفرصة في عملية الاستمرار
ملاحظة: لا يمكن لـ SNN أبدًا استبدال موقع NN، فهو مجرد بديل ساخن لـ NN.
(النسخ الاحتياطي السريع: لا يزال من الممكن إنجاز العمل، ولكن لا يزال من الممكن إجراء نسخة احتياطية له)
2.2 التعديلات و Fsimage
1. Fsimage: الملف الذي تم تشكيله عن طريق تسلسل البيانات الوصفية في ذاكرة الاسم.
2. التعديلات: سجل كل خطوة من خطوات تحديث معلومات بيانات التعريف الخاصة بالعميل (يمكن حساب البيانات التعريفية بواسطة التعديلات)
عندما يبدأ تشغيل namenode، فإنه يقوم بتمرير التعديلات وإنشاء تعديل فارغ، ثم يقوم بتحميل التعديلات وfsimage إلى الذاكرة. في هذه المرحلة، تحتفظ ذاكرة namenode بأحدث معلومات البيانات الوصفية. يبدأ العميل في إضافة وحذف وتعديل البيانات الوصفية لـ namenode. سيتم تسجيل عمليات هذه الطلبات في التعديلات أولاً (لن يتم تسجيل عملية بيانات التعريف للاستعلام في التعديلات، لأن عملية الاستعلام لن تغير معلومات البيانات الوصفية). إذا تم تعليق namenode في هذا الوقت، فسيتم قراءة معلومات البيانات الوصفية من التعديلات بعد إعادة التشغيل. بعد ذلك، سيقوم namenode بإجراء عمليات إضافة وحذف وتغيير البيانات الوصفية في الذاكرة.
نظرًا لأن العمليات المسجلة في التعديلات ستكون أكثر فأكثر، فإن ملف التعديلات سيكون أكبر وأكبر، مما سيؤدي إلى بطء عقدة الاسم عند بدء تحميل التعديلات، لذلك تحتاج إلى دمج التعديلات وfsimage (ما يسمى بالدمج، وهو تحميل التعديلات وfsimage في الذاكرة، واتباع الخطوات في التعديلات خطوة بخطوة، وأخيرًا تكوين fsimage جديد). دور عقدة الاسم الثانوية هو مساعدة عقدة الاسم على دمج التعديلات وfsimage.
سيسأل اسم العقدة الثانوية أولاً عما إذا كان اسم العقدة يحتاج إلى نقطة تفتيش (يجب أن يؤدي تشغيل نقطة التفتيش إلى تلبية أي من الشرطين، الوقت قد انتهى والبيانات الموجودة في التعديلات ممتلئة).
شروط التشغيل المستمرة: أكثر من 3600 أو تعديل (edits.log) يتجاوز 64 مليونًا
أعد عقدة الاسم مباشرةً للتحقق من النتيجة. تقوم عقدة الاسم الثانوية بإجراء عملية نقطة التفتيش. أولاً، تقوم عقدة الاسم بالتمرير عبر التعديلات وتولد تعديلاً فارغًا. الغرض من تمرير التعديلات هو وضع علامة على التعديلات. تتم كتابة جميع العمليات الجديدة في التعديلات. يتم نسخ التعديلات الأخرى غير المدمجة وfsimages إلى عقدة الاسم الثانوية. محليًا، ثم انسخ التعديلات وfsimage في الذاكرة للدمج، وقم بإنشاء fsimage.chkpoint، ثم انسخ fsimage.chkpoint إلى عقدة الاسم، وأعد تسميتها إلى fsimage واستبدل fsimage الأصلية. تحتاج عقدة الاسم فقط إلى تحميل التعديلات وfsimage غير المدمجة سابقًا عند بدء التشغيل، لأن معلومات البيانات الوصفية في التعديلات المدمجة تم تسجيلها في fsimage.
الملخص: الاستمرار هو كتابة بيانات التعريف الخاصة بالشبكة العصبية على القرص للتخزين. عندما يتم تعليق الشبكة العصبية، ستنتقل إلى القرص لقراءة البيانات التعريفية المقابلة واستعادة حالة المجموعة ----- ...
انقطاع التيار الكهربائي
قبل الاستمرار ------ابدأ مرة أخرى، اقرأ سجل النظام
بعد المثابرة ------- قراءة البيانات الموجودة على القرص واستعادة الحالة
انقطاع التيار الكهربائي المتكرر
هناك آلية اتصال بين الشبكة العصبية والشبكة الطبيعية تسمى آلية نبضات القلب. كل 3 ثواني، ترسل الشبكة الطبيعية نبضات قلب إلى الشبكة العصبية. إذا لم يكن هناك نبضات قلب في غضون دقيقة واحدة، يعتبر أن الشبكة الطبيعية معطلة.
ثم ستدخل انقطاعات التيار الكهربائي المتكررة إلى الوضع الآمن:
استعادة حالة النظام
التحقق من معلومات DN
إصلاح مشكلة DN
1) أثناء عملية النقل، يتم فقدان الطاقة - يتم فقدان البيانات. إذا كانت البيانات مهمة بشكل خاص، فلا يمكن الحكم عليها مسبقًا وتعديلها وفقًا لذلك.
2) قم بإيقاف التشغيل بعد اكتمال الإرسال
عندما يتم استعادة المجموعة الخاصة بي، سوف تقوم NN بقراءة البيانات الوصفية واستعادة الحالة وفقًا لذلك.
3) إذا كانت هناك مشكلة في DN. بعد استعادة DN، إذا كانت هناك مهمة جديدة، فاعتمد على الموقف، وحدد ما إذا كان يجب تحميل ملف جديد