استخدم مخازن بيانات التعريف الخارجية في Azure HDInsight

هام

المخزن الرئيسي الافتراضي يوفر Azure SQL Database ذات طبقة أساسية مع فقط حجم بيانات يبلغ 5 DTU و2 غيغابايت بحد أقصى (غير قابل للترقية)! استخدم هذا لأغراض ضمان الجودة والاختبار فقط. بالنسبة للإنتاج أو لأحمال العمل الكبيرة، نوصي بالترحيل إلى مخزن رئيسي خارجي!

يسمح لك HDInsight بالتحكم في بياناتك وبياناتك الوصفية من خلال مخازن البيانات الخارجية. هذه الميزة متاحة لـ Apache Hive metastore وApache Oozie metastore وقاعدة بيانات Apache Ambari.

يُعد metastore الخاص بـ Apache Hive في HDInsight جزءاً أساسياً من بنية Apache Hadoop. metastore هو مستودع المخطط المركزي. يتم استخدام metastore بواسطة أدوات الوصول إلى البيانات الضخمة الأخرى مثل Apache Spark أو Interactive Query (LLAP) أو Presto أو Apache Pig. يستخدم HDInsight Azure SQL Database كمخزن Apache Hive.

HDInsight Hive Metadata Store Architecture.

توجد طريقتان يمكنك من خلالهما إعداد بيانات ثانوية لمجموعات HDInsight الخاصة بك:

مخزن بيانات التعريف الافتراضي

بشكل افتراضي، يقوم HDInsight بإنشاء metastore مع كل نوع من أنواع نظام المجموعة. يمكنك بدلاً من ذلك تحديد Metastore مخصص. يتضمن metastore الافتراضي الاعتبارات التالية:

  • موارد محدودة. انظر الإشعار في أعلى الصفحة.

  • لا توجد تكلفة إضافية. تقوم HDInsight بإنشاء metastore مع كل نوع عنقود دون أي تكلفة إضافية عليك.

  • يعد المخزن الرئيسي الافتراضي جزءاً من دورة حياة نظام المجموعة. عند حذف مجموعة، يتم حذف metastore المطابق وبيانات التعريف أيضاً.

  • يوصى باستخدام المخزن الرئيسي الافتراضي لأحمال العمل البسيطة فقط. أحمال العمل التي لا تتطلب مجموعات متعددة ولا تحتاج إلى بيانات وصفية محفوظة بعد دورة حياة نظام المجموعة.

  • لا يمكن مشاركة بيانات التعريف الافتراضية مع مجموعات أخرى.

مخزن رئيس مخصص

يدعم HDInsight أيضاً النقائل المخصصة، والتي يُوصى بها لمجموعات الإنتاج:

  • أنت تحدد Azure SQL Database الخاصة بك كمخزن أساسي.

  • لا ترتبط دورة حياة المخزن الأساسي بدورة حياة المجموعات، لذا يمكنك إنشاء مجموعات وحذفها دون فقد بيانات التعريف. ستستمر بيانات التعريف مثل مخططات Apache Hive حتى بعد حذف وإعادة إنشاء مجموعة HDInsight.

  • يسمح لك metastore المخصص بإرفاق مجموعات وأنواع مجموعات متعددة إلى هذا metastore. على سبيل المثال، يمكن مشاركة مصدر بيانات نقي واحد عبر مجموعات الاستعلام التفاعلي Apache Hive والشرارة في HDInsight.

  • أنت تدفع مقابل تكلفة metastore (Azure SQL Database) وفقاً لمستوى الأداء الذي تختاره.

  • يمكنك توسيع نطاق metastore حسب الحاجة.

  • يجب استضافة نظام المجموعة والمخزن الرئيس الخارجي في نفس المنطقة.

HDInsight Hive Metadata Store Use Case.

قم بإنشاء وتكوين Azure SQL Database للمخزن الأساسي المخصص

أنشئ أو احصل على Azure SQL Database موجودة قبل إعداد Apache Hive metastore مخصص لمجموعة HDInsight. لمزيدٍ من المعلومات، راجع Quickstart: إنشاء قاعدة بيانات واحدة في Azure SQL Database.

أثناء إنشاء نظام المجموعة، تحتاج خدمة HDInsight إلى الاتصال بالمخزن النقيلي الخارجي والتحقق من بيانات الاعتماد الخاصة بك. قم بتكوين قواعد جدار حماية Azure SQL Database للسماح لخدمات وموارد Azure بالوصول إلى الخادم. قم بتمكين هذا الخيار في مدخل Microsoft Azure عن طريق تحديد تعيين جدار حماية الخادم. ثم حدد No underneath Deny public network access، and Yes underneath السماح لخدمات وموارد Azure بالوصول إلى هذا الخادم لـ Azure SQL Database. للحصول على مزيدٍ من المعلومات، راجع إنشاء وإدارة قواعد جدار حماية IP

لا يتم دعم نقاط النهاية الخاصة لمخازن SQL إلا على المجموعات التي تم إنشاؤها باستخدام outbound ResourceProviderConnection. لمعرفة المزيد، راجع هذه الوثائق.

set server firewall button.

allow azure services access.

حدد metastore مخصص أثناء إنشاء نظام المجموعة

يمكنك توجيه نظام المجموعة إلى Azure SQL Database التي تم إنشاؤها مسبقاً في أي وقت. لإنشاء نظام المجموعة من خلال المدخل، يتم تحديد الخيار من Storage > إعدادات المخزن الرئيسي.

HDInsight Hive Metadata Store Azure portal.

إرشادات بشأن المخزن الرئيسي Apache Hive

إشعار

استخدم metastore المخصص كلما أمكن ذلك، للمساعدة في فصل موارد الحساب (نظام المجموعة قيد التشغيل) وبيانات التعريف (المخزنة في metastore). ابدأ بطبقة S2، والتي توفر سعة تخزين تبلغ 50 DTU و250 غيغابايت. إذا رأيت عنق الزجاجة، يمكنك توسيع قاعدة البيانات.

  • إذا كنت تنوي مجموعات HDInsight متعددة للوصول إلى بيانات منفصلة، فاستخدم قاعدة بيانات منفصلة للمخزن الأساسي في كل مجموعة. إذا كنت تشارك بيانات metastore عبر مجموعات HDInsight متعددة، فهذا يعني أن المجموعات تستخدم نفس بيانات التعريف وملفات بيانات المستخدم الأساسية.

  • قم بعمل نسخة احتياطية من metastore المخصص بشكل دوري. تُنشئ Azure SQL Database النسخ الاحتياطية تلقائياً، ولكن يختلف الإطار الزمني للاحتفاظ بالنسخ الاحتياطي. للحصول على مزيد من المعلومات، راجع تعرف على عمليات النسخ الاحتياطي التلقائي لقاعدة بيانات SQL.

  • حدد موقع metastore الخاص بك ومجموعة HDInsight في نفس المنطقة. سيوفر هذا التكوين أعلى أداء وأقل رسوم خروج للشبكة.

  • راقب بيانات التعريف للأداء والتوافر باستخدام أدوات مراقبة Azure SQL Database أو سجلات Azure Monitor.

  • عندما يتم إنشاء إصدار جديد أعلى من Azure HDInsight مقابل قاعدة بيانات metastore مخصصة موجودة، يقوم النظام بترقية مخطط metastore. لا يمكن التراجع عن الترقية دون استعادة قاعدة البيانات من النسخة الاحتياطية.

  • إذا كنت تشارك metastore عبر مجموعات متعددة، فتأكد من أن جميع المجموعات هي نفس إصدار HDInsight. تستخدم إصدارات Apache Hive المختلفة مخططات مختلفة لقاعدة بيانات metastore. على سبيل المثال، لا يمكنك مشاركة بيانات metastore عبر مجموعات الإصدارين Apache Hive 2.1 وApache Hive 3.1.

  • في HDInsight 4.0، يستخدم Spark وApache Hive كتالوجات مستقلة للوصول SparkSQL أو جداول Apache Hive. يوجد جدول تم إنشاؤه بواسطة Spark في كتالوج Spark. يوجد جدول تم إنشاؤه بواسطة Apache Hive في كتالوج Apache Hive. يختلف هذا السلوك عن HDInsight 3.6 حيث قام Apache Hive وSpark بمشاركة كتالوج مشترك. يعتمد Hive and Spark Integration في HDInsight 4.0 على Apache Hive Warehouse Connector (HWC). يعمل HWC كجسر بين Spark وApache Hive. تعرّف على Apache Hive Warehouse Connector.

  • في HDInsight 4.0 إذا كنت ترغب في مشاركة metastore بين Apache Hive وSpark، يمكنك القيام بذلك عن طريق تغيير الخاصية metastore.catalog.default إلى خلية في نظام مجموعة Spark الخاص بك. يمكنك العثور على هذه الخاصية في Ambari Advanced spark2-hive-site-override. من المهم أن نفهم أن مشاركة البيانات الأولية تعمل فقط مع جداول الخلية الخارجية، ولن ينجح ذلك إذا كانت لديك جداول خلية داخلية / مُدارة أو جداول ACID.

تحديث كلمة مرور المخزن الرئيسي Apache Hive المخصص

عند استخدام قاعدة بيانات المخزن الرئيسي Apache Hive المخصص، يمكنك تغيير كلمة مرور قاعدة بيانات SQL. إذا قمت بتغيير كلمة المرور للمخزن الأساسي المخصص، فلن تعمل خدمات Apache Hive حتى تقوم بتحديث كلمة المرور في مجموعة HDInsight.

لتحديث كلمة مرور المخزن الرئيسي Apache Hive:

  1. افتح واجهة مستخدم Ambari.
  2. انقر فوق Services --> Apache Hive --> Configs --> Database.
  3. قم بتحديث حقول Database Password إلى كلمة مرور قاعدة بيانات خادم SQL الجديدة.
  4. انقر فوق الزر Test Connection للتأكد من عمل كلمة المرور الجديدة.
  5. انقر فوق الزر Save.
  6. اتبع مطالبات Ambari لحفظ التكوين وإعادة تشغيل الخدمات المطلوبة.

Apache Oozie metastore

Apache Oozie هو نظام تنسيق سير عمل يدير وظائف Hadoop. يدعم Oozie وظائف Hadoop لـ Apache MapReduce وPig وHive وغيرها. يستخدم Oozie بيانات metastore لتخزين تفاصيل عن مهام سير العمل. لزيادة الأداء عند استخدام Oozie، يمكنك استخدام Azure SQL Database كمخزن بيانات مخصص. يوفر metastore الوصول إلى بيانات مهمة Oozie بعد حذف المجموعة الخاصة بك.

للحصول على إرشادات عن إنشاء Oozie metastore باستخدام Azure SQL Database، راجع استخدام Apache Oozie لسير العمل.

تحديث كلمة مرور المخزن الرئيسي Oozie المخصص

عند استخدام قاعدة بيانات المخزن الرئيسي Oozie المخصص، لديك القدرة على تغيير كلمة مرور SQL DB. إذا قمت بتغيير كلمة المرور المخزن الرئيسي المخصص، فلن تعمل خدمات Oozie حتى تقوم بتحديث كلمة المرور في مجموعة HDInsight.

لتحديث كلمة مرور Oozie المخزن الرئيسي:

  1. افتح واجهة مستخدم Ambari.
  2. انقر فوق Services --> Oozie -> Configs -> Database.
  3. قم بتحديث حقول Database Password إلى كلمة مرور قاعدة بيانات خادم SQL الجديدة.
  4. انقر فوق الزر Test Connection للتأكد من عمل كلمة المرور الجديدة.
  5. انقر فوق الزر Save.
  6. اتبع مطالبات Ambari لحفظ التكوين وإعادة تشغيل الخدمات المطلوبة.

Ambari DB مخصص

لاستخدام قاعدة البيانات الخارجية الخاصة بك مع Apache Ambari على HDInsight، راجع قاعدة بيانات Apache Ambari المخصصة.

الخطوات التالية