بُنى استمرارية الأعمال لـ Azure HDInsight
تقدم هذه المقالة بعض الأمثلة على بُنى استمرارية الأعمال التي قد تفكر فيها لـ Azure HDInsight. التسامح مع انخفاض الأداء الوظيفي أثناء الكوارث هو أحد قرارات الأعمال الذي يختلف من تطبيق إلى آخر. قد يكون مقبولاً أن تكون بعض التطبيقات غير متوفرة أو أن تكون متوفرة جزئياً مع انخفاض الأداء الوظيفي أو تأخر المعالجة لفترة معينة. بالنسبة للتطبيقات الأخرى، قد يكون أي انخفاض في الأداء الوظيفي غير مقبول.
إشعار
البُنى المعروضة في هذه المقالة ليست شاملة بأي حال من الأحوال. يجب عليك تصميم البُنى الفريدة الخاصة بك بمجرد اتخاذ قرارات موضوعية حول استمرارية الأعمال المتوقعة والتعقيد التشغيلي وتكلفة الملكية.
Apache Hive وInteractive Query
يوصى باستخدام الإصدار 2 من النسخ المتماثل لـ Hive لاستمرارية العمل في أنظمة مجموعات HDInsight Hive وInteractive Query. القسمان الثابتان بنظام مجموعة Hive المستقل اللذان يتعين نسخهما نسخاً متماثلاً هما Storage Layer وHive Metastore. تحتاج مجموعات Hive في سيناريو متعدد المستخدمين مع حزمة أمان المؤسسة إلى Microsoft Entra Domain Services وRanger Metastore.
يتم تكوين النسخ المتماثل المستند إلى حدث Apache Hive بين أنظمة المجموعات الأساسية والثانوية. ويتكون ذلك من مرحلتين مميزتين، تمهيد التشغيل وعمليات التشغيل التزايدية:
يعمل تمهيد التشغيل على نسخ مستودع Hive بالكامل نسخاً متماثلاً، بما في ذلك معلومات Hive Metastore من نظام المجموعة الأساسي إلى الثانوي.
تكون عمليات التشغيل التزايدية مؤتمتة على نظام المجموعة الأساسي ويتم تشغيل الأحداث التي تم إنشاؤها أثناء عمليات التشغيل التزايدية مرة أخرى على نظام المجموعة الثانوي. يلحق نظام المجموعة الثانوي بالأحداث التي تم إنشاؤها من نظام المجموعة الأساسي، مع التأكد من أن نظام المجموعة الثانوي متسق مع أحداث نظام المجموعة الأساسي بعد تشغيل النسخ المتماثل.
يكون نظام المجموعة الثانوي مطلوباً فقط في وقت النسخ المتماثل لتشغيل النسخة الموزعة، DistCp
، لكن يتعين أن يكون المخزن ومخازن Metastore ثابتة. يمكنك اختيار تدوير نظام مجموعة ثانوي مبرمج نصياً عند الطلب قبل النسخ المتماثل، وتشغيل البرنامج النصي للنسخ المتماثل عليه، ثم قطعه بعد نجاح النسخ المتماثل.
عادة ما يكون نظام المجموعة الثانوي للقراءة فقط. يمكنك جعل نظام المجموعة الثانوي للقراءة والكتابة، لكن هذا يضيف تعقيداً إضافياً يتضمن النسخ المتماثل للتغييرات من نظام المجموعة الثانوي إلى نظام المجموعة الأساسي.
هدف نقطة الاسترداد (RPO) وهدف وقت الاسترداد (RPO) للنسخ المتماثل المستند إلى حدث Hive
RPO: يتم تقييد فقدان البيانات على آخر حدث نسخ متماثل تزايدي ناجح من نظام المجموعة الأساسي إلى الثانوي.
RTO: الوقت بين الفشل واستئناف معامَلات انتقال البيانات إلى الخادم وانتقال البيانات من الخادم مع نظام المجموعة الثانوي.
بُنى Apache Hive وInteractive Query
المنطقة الأساسية النشطة لـ Hive مع المنطقة الثانوية عند الطلب
في بنية المنطقة الأساسية النشطة لـ Hive مع المنطقة الثانوية عند الطلب، تكتب التطبيقات في المنطقة الأساسية النشطة بينما لا يتم توفير أي نظام مجموعة في المنطقة الثانوية أثناء العمليات العادية. يكون كل من SQL Metastore وStorage في المنطقة الثانوية ثابتاً، بينما تتم برمجة نظام مجموعة HDInsight نصياً وتوزيعه عند الطلب فقط قبل عمليات تشغيل النسخ المتماثل المجدولة لـ Hive.
المنطقة الأساسية النشطة لـ Hive مع المنطقة الثانوية في وضع الاستعداد
في المنطقة الأساسية النشطة مع المنطقة الثانوية في وضع الاستعداد، تكتب التطبيقات في المنطقة الأساسية النشطة بينما يتم تشغيل نظام المجموعة الثانوي، الذي في وضع الاستعداد وذي النطاق المنخفض وفي وضع القراءة فقط، أثناء العمليات العادية. أثناء العمليات العادية، يمكنك اختيار إلغاء تحميل عمليات قراءة محددة بالمنطقة إلى نظام المجموعة الثانوي.
لمزيد من المعلومات عن النسخ المتماثل لـ Hive وعينات التعليمات البرمجية، راجع النسخ المتماثل لـ Apache Hive في أنظمة مجموعات Azure HDInsight
Apache Spark
قد تتضمن أحمال عمل Spark أو لا تتضمن مكون Hive. لتمكين أحمال عمل Spark SQL لقراءة البيانات وكتابتها من Hive، تشارك أنظمة مجموعات HDInsight Spark مخازن Metastore المخصصة لـ Hive من أنظمة مجموعات Hive/Interactive Query في المنطقة نفسها. في مثل هذه السيناريوهات، يجب أن يصاحب النسخ المتماثل لأحمال عمل Spark عبر المناطق أيضاً النسخ المتماثل لمخازن Metastore والمخزن الخاص بـ Hive. تنطبق سيناريوهات تجاوز الفشل في هذا القسم على كليهما:
- Spark SQL على جداول ACID التي تستخدم إعداد Hive Warehouse Connector (HWC) الذي يستخدم نظام مجموعة HDInsight Interactive Query.
- حمل عمل Spark SQL في الجداول غير المتعلقة بـ ACID والتي تستخدم نظام مجموعة HDInsight Hadoop.
بالنسبة للسيناريوهات التي يعمل فيها Spark في وضع مستقل، يتعين نسخ البيانات المنسقة وSpark Jars المخزنة (لمهام Livy) نسخاً متماثلاً من المنطقة الأساسية إلى المنطقة الثانوية بصفة منتظمة باستخدام DistCP
لـ Azure Data Factory.
نوصي باستخدام أنظمة التحكم بالإصدارات لتخزين دفاتر ملاحظات ومكتبات Spark حيث يمكن توزيعها بسهولة على أنظمة المجموعات الأساسية أو الثانوية. تأكد من إعداد الحلول المستندة إلى دفتر الملاحظات وغير المستندة إلى دفتر الملاحظات لتحميل تثبيتات البيانات الصحيحة في مساحة العمل الأساسية أو الثانوية.
إذا كانت هناك مكتبات خاصة بالعميل تتجاوز ما يوفره HDInsight في الأصل، يجب تتبعها وتحميلها دورياً في نظام المجموعة الثانوي في وضع الاستعداد.
هدف نقطة الاسترداد (RPO) وهدف وقت الاسترداد (RPO) لنسخ Apache Spark المتماثل
RPO: يتم تقييد فقدان البيانات على آخر نسخ متماثل تزايدي ناجح (Spark وHive) من نظام المجموعة الأساسي إلى الثانوي.
RTO: الوقت بين الفشل واستئناف معامَلات انتقال البيانات إلى الخادم وانتقال البيانات من الخادم مع نظام المجموعة الثانوي.
بُنى Apache Spark
المنطقة الأساسية النشطة لـ Spark مع المنطقة الثانوية عند الطلب
تقرأ التطبيقات وتكتب في أنظمة مجموعات Spark وHive في المنطقة الأساسية النشطة بينما لا يتم توفير أي نظام مجموعة في المنطقة الثانوية أثناء العمليات العادية. يكون كل من SQL Metastore ومخزن Hive Storage ومخزن Spark Storage ثابتاً في المنطقة الثانوية. تتم برمجة أنظمة مجموعات Spark وHive وتوزيعها عند الطلب. يُستخدم نسخ Hive المتماثل لنسخ مخزن Hive Storage ومخازن Metastore لـ Hive بينما يمكن استخدام DistCP
لـ Azure Data Factory لنسخ مخزن Spark مستقل. يتعين توزيع أنظمة مجموعات Hive قبل تشغيل كل نسخ Hive متماثل بسبب خاصية حساب DistCp
للتبعية.
المنطقة الأساسية النشطة لـ Spark مع المنطقة الثانوية في وضع الاستعداد
تقرأ التطبيقات وتكتب في أنظمة مجموعات Spark وHive في المنطقة الأساسية النشطة بينما يتم تشغيل أنظمة مجموعات Hive وSpark، التي في وضع الاستعداد وذات النطاق المنخفض وفي وضع القراءة فقط، في المنطقة الثانوية أثناء العمليات العادية. أثناء العمليات العادية، يمكنك اختيار إلغاء تحميل عمليات قراءة Hive وSpark محددة بالمنطقة إلى نظام المجموعة الثانوي.
Apache HBase
تصدير HBase ونسخ HBase المتماثل هما طريقتان شائعتان لتمكين استمرارية العمل بين أنظمة مجموعات HDInsight HBase.
تصدير HBase هو عملية نسخ متماثل دُفعية تستخدم الأداة المساعدة لتصدير HBase لتصدير الجداول من نظام مجموعة HBase الأساسي إلى مخزن Azure Data Lake Storage Gen 2 الأساسي الخاص به. يمكن بعد ذلك الوصول إلى البيانات المُصدَّرة من نظام مجموعة HBase الثانوي ثم استيرادها إلى الجداول التي يجب أن موجودة مسبقاً في نظام المجموعة الثانوي. بينما يوفر تصدير HBase النقاوة على مستوى الجداول، في حالات التحديث التزايدي، يتحكم محرك أتمتة التصدير في نطاق الصفوف التزايدية لتضمينها في كل عملية تشغيل. لمزيد من المعلومات، راجع نسخ HDInsight HBase والمتماثل.
يستخدم نسخ HBase المتماثل النسخ المتماثل في الوقت الحقيقي تقريباً بين أنظمة مجموعات HBase بطريقة مؤتمتة بالكامل. يتم إجراء النسخ المتماثل على مستوى الجداول. يمكن استهداف جميع الجداول أو جداول معينة للنسخ المتماثل. يكون نسخ HBase المتماثل متسقاً في النهاية، بمعنى أن التعديلات الحديثة التي يتم إجراؤها في أحد الجداول في المنطقة الأساسية قد لا تتوفر لجميع المناطق الثانوية مباشرة. ويتم ضمان اتساق المناطق الثانوية مع المنطقة الأساسية في نهاية المطاف. يمكن إعداد نسخ HBase المتماثل بين نظامي مجموعة HDInsight HBase أو أكثر في الحالات التالية:
- وجود نظامي المجموعة الأساسي والثانوي في الشبكة الظاهرية نفسها.
- وجود نظامي المجموعة الأساسي والثانوي في شبكات ظاهرية نظيرة مختلفة في المنطقة نفسها.
- وجود نظامي المجموعة الأساسي والثانوي في شبكات ظاهرية نظيرة مختلفة في مناطق مختلفة.
لمزيد من المعلومات، راجع إعداد النسخ المتماثل لنظام مجموعة Apache HBase في شبكات Azure الظاهرية.
هناك بضعة طرق أخرى لتنفيذ عمليات النسخ الاحتياطي لأنظمة مجموعات HBase مثل نسخ مجلد hbase ونسخ الجداول واللقطات.
هدف نقطة الاسترداد (RPO) وهدف وقت الاسترداد (RPO) لـ HBase
تصدير HBase
- RPO: يتم تقييد فقدان البيانات على آخر استيراد تزايدي دُفعي ناجح بواسطة نظام المجموعة الثانوي من نظام المجموعة الأساسي.
- RTO: الوقت الفاصل بين فشل نظام المجموعة الأساسي واستئناف عمليات الإدخال/الإخراج في نظام المجموعة الثانوي.
نسخ HBase المتماثل
- RPO: يتم تقييد فقدان البيانات على آخر شحنة WalEdit تم استلامها في نظام المجموعة الثانوي.
- RTO: الوقت الفاصل بين فشل نظام المجموعة الأساسي واستئناف عمليات الإدخال/الإخراج في نظام المجموعة الثانوي.
بُنى HBase
يمكن إعداد نسخ HBase المتماثل في ثلاثة أوضاع: Leader-Follower (قائد - تابع) وLeader-Leader (قائد - قائد) وCyclic (دوري).
النسخ المتماثل HBase: نموذج Leader – Follower
في هذا الإعداد عبر المناطق، يكون النسخ المتماثل أحادي الاتجاه من المنطقة الأساسية إلى المنطقة الثانوية. يمكن تحديد جميع الجداول أو جداول معينة في المنطقة الأساسية للنسخ المتماثل أحادي الاتجاه. أثناء العمليات العادية، يمكن استخدام نظام المجموعة الثانوي لتقديم طلبات القراءة في منطقته الخاصة.
يعمل نظام المجموعة الثانوي كنظام مجموعة HBase العادي الذي يمكنه استضافة جداوله الخاصة، ويمكن أن يقدم عمليات القراءة والكتابة من التطبيقات الإقليمية. ومع ذلك، لا يتم نسخ عمليات الكتابة في الجداول المنسوخة نسخاً متماثلاً أو الجداول للأصلية لنظام المجموعة الثانوي إلى نظام المجموعة الأساسي مرة أخرى.
النسخ المتماثل HBase: نموذج Leader – Follower
هذا الإعداد عبر المناطق مشابه جداً للإعداد أحادي الاتجاه باستثناء أن النسخ المتماثل يحدث ثنائي الاتجاه بين المنطقة الأساسية والمنطقة الثانوية. يمكن للتطبيقات استخدام كلا نظامي المجموعة في أوضاع القراءة والكتابة، وتكون التحديثات تبادلات بشكل غير متزامن بينهما.
نسخ HBase المتماثل: متعددة المناطق أو الدوري
نموذج النسخ المتماثل متعدد المناطق/الدوري هو امتداد لنسخ HBase المتماثل، ويمكن استخدامه لإنشاء بنية HBase مكررةً عمومياً مع تطبيقات متعددة التي تقرأ وتكتب في أنظمة مجموعات HBase محددة للمنطقة. يمكن إعداد أنظمة المجموعات في مجموعات مختلفة من القائد/ القائد أو القائد/التابع اعتماداً على متطلبات العمل.
Apache Kafka
لتمكين التوفر عبر المناطق، يدعم HDInsight 4.0 يدعم أداة Kafka MirrorMaker التي يمكن استخدامها للاحتفاظ بنسخة ثانوية من نظام مجموعة Kafka الأساسي في منطقة مختلفة. تعمل أداة MirrorMaker بمثابة زوج رفيع المستوى من المستهلك والمنتِج، حيث تستهلك من موضوع معين في نظام المجموعة الأساسي وتنتج موضوعاً يحمل الاسم نفسه في نظام المجموعة الثانوي. يفترض النسخ المتماثل عبر أنظمة المجموعات للتعافي من الكوارث ذي التوفر العالي والذي يستخدم MirrorMaker أن المنتجين والمستهلكين بحاجة إلى تجاوز الفشل إلى نظام مجموعة النسخ المتماثلة. لمزيد من المعلومات، راجع استخدام MirrorMaker لنسخ مواضيع Apache Kafka نسخاً متماثلاً مع Kafka على HDInsight
اعتماداً على مدة بقاء الموضوع عند بدء النسخ المتماثل، يمكن أن يؤدي النسخ المتماثل لموضوع MirrorMaker إلى إزاحات مختلفة بين مواضيع المصدر والنسخ المتماثلة. تدعم أنظمة مجموعات HDInsight Kafka أيضاً النسخ المتماثل لأقسام المواضيع، وهو ميزة ذات توفر عالٍ على مستوى نظام المجموعة الفردي.
بُنى Apache Kafka
النسخ المتماثل لـ Kafka: نشط - سلبي
يتيح لك إعداد نشط - سلبي النسخ المتطابق لقاعدة البيانات أحادي الاتجاه غير المتزامن من نشط إلى سلبي. يتعين على المنتجين والمستهلكين أن يكونوا على وعي بوجود نظام مجموعة نشط وسلبي ويجب أن يكونوا على استعداد لتجاوز الفشل إلى السلبي في حالة فشل النشط. وفيما يلي بعض المزايا والعيوب في إعداد نشط - سلبي.
الميزات:
- لا يؤثر زمن الانتقال في الشبكة بين أنظمة المجموعات على أداء نظام المجموعة النشط.
- بساطة النسخ المتماثل أحادي الاتجاه.
العيوب:
- قد يظل نظام المجموعة السلبي غير مستغَل بشكل جيد.
- تعقيد التصميم في دمج الوعي بتجاوز الفشل لدى منتجي التطبيقات ومستهلكيها.
- فقدان البيانات المحتملة أثناء فشل نظام المجموعة النشط.
- الاتساق النهائي بين المواضيع بين الكتل نظامي المجموعة النشط والسلبي.
- قد تؤدي عمليات إرجاع الموارد إلى الأساسي إلى عدم اتساق الرسائل في المواضيع.
النسخ المتماثل لـ Kafka: نشط - نشط
يتضمن إعداد نشط - نشط على نظامي مجموعة HDInsight Kafka منفصلين إقليمياً ومتناظرين للشبكة الظاهرية مع نسخ متماثل غير متزامن ثنائي الاتجاه مع MirrorMaker. في هذا التصميم، يتم أيضاً توفير الرسائل المستهلكة من قِبل المستهلكين في نظام المجموعة الأساسي للمستهلكين في نظام المجموعة الثانوي والعكس صحيح. وفيما يلي بعض المزايا والعيوب في إعداد نشط - نشط.
الميزات:
- بسبب حالتها المكررة، تكون عمليات تجاوز الفشل وإرجاع الموارد أسهل في التنفيذ.
العيوب:
- يكون الإعداد والإدارة والمراقبة أكثر تعقيداً من النشط - السلبي.
- يجب معالجة مشكلة النسخ المتماثل الدائري.
- يؤدي النسخ المتماثل ثنائي الاتجاه إلى ارتفاع تكاليف خروج البيانات الإقليمية.
حزمة أمان المؤسسات لـ HDInsight
يتم استخدام هذا الإعداد لتمكين وظائف متعددة المستخدمين في كل من الأساسي والثانوي، بالإضافة إلى مجموعات النسخ المتماثلة ل Microsoft Entra Domain Services للتأكد من أن المستخدمين يمكنهم المصادقة على كلا نظامي المجموعات. أثناء العمليات العادية، يجب إعداد نهج Ranger في نظام المجموعة الثانوي لضمان تقييد المستخدمين على عمليات القراءة. توضح البنية أدناه كيف يمكن أن يبدو إعداد نظام المجموعة الأساسي النشط - الثانوي في وضع الاستعداد لـ Hive المزوَّد بحزمة أمان المؤسسات.
النسخ المتماثل لـ Ranger Metastore:
يُستخدم Ranger Metastore لتخزين وتقديم نُهج Ranger باستمرار للتحكم في تفويض البيانات. نوصي بالاحتفاظ بنُهج Ranger المستقلة في نظامي المجموعة الأساسي والثانوي والاحتفاظ بالثانوي كنسخة مماثلة للقراءة.
إذا كان المتطلب هو الاحتفاظ بنُهج Ranger متزامنة بين نظامي المجموعة الأساسي والثانوي، فاستخدم Ranger Import/Export لإجراء نسخ احتياطي واستيراد نُهج Ranger من نظام المجموعة الأساسي إلى الثانوي دورياً.
يمكن أن يتسبب النسخ الاحتياطي لنُهج Ranger بين نظامي المجموعة الأساسي والثانوي في أن يصبح الثانوي مزوداً بإمكانية الكتابة، الأمر الذي يمكن أن يؤدي بدوره إلى عمليات كتابة غير مقصودة على نظام المجموعة الثانوي، مما يؤدي إلى عدم اتساق البيانات.
الخطوات التالية
لمعرفة المزيد عن العناصر التي تم تناولها في هذه المقالة، راجع: