ترحيل مجموعات Apache Hadoop المحلية إلى Azure HDInsight - أفضل ممارسات البنية التحتية

تقدم هذه المقالة توصيات لإدارة البنية الأساسية لمجموعات Azure HDInsight. إنه جزء من سلسلة توفر أفضل الممارسات للمساعدة في ترحيل أنظمة Apache Hadoop الداخلية إلى Azure HDInsight.

تخطيط سعة مجموعة HDInsight

إليك الخيارات الرئيسية التي يجب اتخاذها لتخطيط سعة مجموعة HDInsight:

المنطقة
تحدد منطقة Azure مكان توفير الكتلة فعلياً. لتقليل زمن انتقال عمليات القراءة والكتابة، يجب أن تكون المجموعة في المنطقة نفسها مثل البيانات.

مكان التخزين وحجمه
يجب أن يكون التخزين الافتراضي في المنطقة نفسها مثل المجموعة. بالنسبة للكتلة المكونة من 48 عقدة، فمن المستحسن أن يكون لديك من 4 إلى 8 حسابات تخزين. على الرغم من احتمال وجود مساحة تخزين إجمالية كافية بالفعل، فإن كل حساب تخزين يوفر نطاقاً ترددياً إضافياً للشبكات لعقد الحوسبة. عند وجود حسابات تخزين متعددة، استخدم اسماً عشوائياً لكل حساب تخزين، دون بادئة. الغرض من التسمية العشوائية هو تقليل فرصة اختناقات التخزين (الاختناق) أو فشل الوضع الشائع عبر جميع الحسابات. للحصول على أداء أفضل، استخدم حاوية واحدة فقط لكل حساب تخزين.

حجم ونوع الجهاز الظاهري (يدعم الآن سلسلة G)
يحتوي كل نوع مجموعة على مجموعة من أنواع العقد، ولكل نوع عقدة خيارات محددة لحجم ونوع VM. يُحدد حجم ونوع الجهاز الظاهري من خلال قوة معالجة وحدة المعالجة المركزية وحجم ذاكرة الوصول العشوائي وزمن انتقال الشبكة. يمكن استخدام حمل العمل المحاكى لتحديد الحجم الأمثل لجهاز VM ونوعه لكل نوع من أنواع العقد.

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

لمزيد من المعلومات، راجع المقالة تخطيط السعة لمجموعات HDInsight.

راجع التكوين الافتراضي للعقدة وأحجام الأجهزة الافتراضية للمجموعات للتعرف على أنواع الأجهزة الظاهرية الموصى بها لكل نوع من أنواع مجموعة HDInsight.

تحقق من توفر مكونات Hadoop في HDInsight

كل إصدار HDInsight هو توزيع سحابي لمجموعة من مكونات النظام البيئي Hadoop. راجع HDInsight Component Versioning للحصول على تفاصيل حول جميع مكونات HDInsight وإصداراتها الحالية.

يمكنك أيضاً استخدام Apache Ambari UI أو Ambari REST API للتحقق من مكونات وإصدارات Hadoop في HDInsight.

يمكن إضافة التطبيقات أو المكونات التي كانت متوفرة في مجموعات محلية ولكنها ليست جزءاً من مجموعات HDInsight على عقدة حافة أو على جهاز افتراضي في نفس شبكة VNet مثل مجموعة HDInsight. يمكن تثبيت تطبيق Hadoop من جهة خارجية غير متوفر على Azure HDInsight باستخدام خيار "Applications" في مجموعة HDInsight. يمكن تثبيت تطبيقات Hadoop المخصصة على مجموعة HDInsight باستخدام "script actions". يسرد الجدول التالي بعض التطبيقات الشائعة وخيارات تكامل HDInsight الخاصة بها:

التطبيق التكامل
Airflow عقدة حافة IaaS أو HDInsight
Alluxio خدمة تأجير البنية التحتية
Arcadia خدمة تأجير البنية التحتية
Atlas لا شيء (HDP فقط)
Datameer عقدة حافة HDInsight
Datastax (Cassandra) IaaS (Azure Cosmos DB بديل على Azure)
DataTorrent خدمة تأجير البنية التحتية
انتقال خدمة تأجير البنية التحتية
Ignite IaaS
Jethro خدمة تأجير البنية التحتية
Mapador خدمة تأجير البنية التحتية
MongoDB IaaS (Azure Cosmos DB بديل على Azure)
NiFi خدمة تأجير البنية التحتية
Presto عقدة حافة IaaS أو HDInsight
Python 2 النظام الأساسي كخدمة
Python 3 النظام الأساسي كخدمة
R النظام الأساسي كخدمة
SAS خدمة تأجير البنية التحتية
Vertica IaaS (SQLDW بديل على Azure)
تابلوه خدمة تأجير البنية التحتية
خط الماء عقدة حافة HDInsight
مجموعات التيار HDInsight edge
بلانتير خدمة تأجير البنية التحتية
نقطة الشراع خدمة تأجير البنية التحتية

لمزيد من المعلومات، راجع المقالة مكونات Apache Hadoop المتوفرة مع إصدارات HDInsight المختلفة

تخصيص مجموعات HDInsight باستخدام إجراءات البرنامج النصي

يوفر HDInsight طريقة لتكوين المجموعة تسمى إجراء البرنامج النصي. إجراء البرنامج النصي هو برنامج Bash النصي المُشغَّل على العقد في مجموعة HDInsight ويمكن استخدامه لتثبيت مكونات إضافية وتغيير إعدادات التكوين.

يجب تخزين إجراءات البرنامج النصي على URI ويمكن الوصول إليه من مجموعة HDInsight. يمكن استخدامها أثناء أو بعد إنشاء الكتلة ويمكن أيضاً تقييدها للتشغيل فقط على أنواع معينة من العقد.

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

يوفر HDInsight نصوصاً مكتوبة مسبقاً لتثبيت المكونات التالية على مجموعات HDInsight:

  • أضف حساب Azure Storage
  • قم بتثبيت Hue
  • ثبِّت Presto
  • ثبِّت Solr
  • ثبِّت Giraph
  • Pre-load Hive libraries
  • ثبِّت أو حدِّث Mono

إشعار

لا توفر HDInsight دعماً مباشراً لمكونات hadoop، أو مكونات مخصصة مثبتة باستخدام إجراءات البرنامج النصي.

ويمكن أيضاً نشر إجراءات البرنامج النصي في Azure Marketplace كتطبيق HDInsight.

لمزيد من المعلومات، راجع المقالات التالية:

تخصيص تكوينات HDInsight باستخدام Bootstrap

يمكن إجراء التغييرات على التكوينات في ملفات التكوين مثل core-site.xmlو hive-site.xml وoozie-env.xml باستخدام Bootstrap. البرنامج النصي التالي هو مثال على استخدام وحدة PowerShell ​​AZ cmdlet New-AzHDInsightClusterConfig:

# hive-site.xml configuration
$hiveConfigValues = @{"hive.metastore.client.socket.timeout"="90"}

$config = New—AzHDInsightClusterConfig '
    | Set—AzHDInsightDefaultStorage
    —StorageAccountName "$defaultStorageAccountName.blob. core.windows.net" `
    —StorageAccountKey "defaultStorageAccountKey " `
    | Add—AzHDInsightConfigValues `
        —HiveSite $hiveConfigValues

New—AzHDInsightCluster `
    —ResourceGroupName $existingResourceGroupName `
    —Cluster-Name $clusterName `
    —Location $location `
    —ClusterSizeInNodes $clusterSizeInNodes `
    —ClusterType Hadoop `
    —OSType Linux `
    —Version "3.6" `
    —HttpCredential $httpCredential `
    —Config $config

لمزيد من المعلومات، راجع المقالة تخصيص مجموعات HDInsight باستخدام Bootstrap. راجع أيضاً، إدارة مجموعات HDInsight باستخدام Apache Ambari REST API.

الوصول إلى أدوات العميل من العقد الطرفية للكتلة HDInsight Hadoop

عقدة الحافة الفارغة عبارة عن جهاز ظاهري Linux مع تثبيت وتكوين نفس أدوات العميل على العقد الرئيسية، ولكن مع عدم تشغيل خدمات Hadoop. يمكن استخدام عقدة الحافة للأغراض التالية:

  • الوصول إلى الكتلة
  • اختبار تطبيقات العميل
  • استضافة تطبيقات العميل

يمكن إنشاء العقد الطرفية وحذفها من خلال مدخل Microsoft Azure ويمكن استخدامها أثناء إنشاء المجموعة أو بعده. بعد إنشاء عقدة الحافة، يمكنك الاتصال بعقدة الحافة باستخدام SSH، وتشغيل أدوات العميل للوصول إلى مجموعة Hadoop في HDInsight. نقطة نهاية ssh لعقدة الحافة هي <EdgeNodeName>.<ClusterName>-ssh.azurehdinsight.net:22.

لمزيد من المعلومات، راجع المقالة استخدام عقد الحافة الفارغة على مجموعات Apache Hadoop في HDInsight.

استخدم ميزة توسيع نطاق المجموعات وتصغيرها

يوفر HDInsight المرونة من خلال إعطائك خيار زيادة وتقليل عدد العقد العاملة في مجموعاتك. تسمح لك هذه الميزة بتقليص الكتلة بعد ساعات أو في عطلات نهاية الأسبوع، وتوسيعها خلال ذروة متطلبات العمل. لمزيد من المعلومات، راجع:

استخدم HDInsight مع Azure Virtual Network

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

يتيح استخدام Azure Virtual Network مع HDInsight السيناريوهات التالية:

  • الاتصال بـ HDInsight مباشرة من شبكة محلية.
  • توصيل HDInsight بمخازن البيانات في شبكة Azure الظاهرية.
  • الوصول المباشر إلى خدمات Hadoop غير المتاحة للجمهور عبر الإنترنت. على سبيل المثال: واجهات برمجة تطبيقات Kafka أو واجهة برمجة تطبيقات Java HBase.

يمكن إضافة HDInsight إلى Azure Virtual Network الجديدة أو الحالية. في حالة إضافة HDInsight إلى شبكة افتراضية موجودة، يجب تحديث مجموعات أمان الشبكة الحالية والمسارات التي حددها المستخدم للسماح بالوصول غير المقيد إلى عدة عناوين IP في مركز بيانات Azure. تأكد أيضاً من عدم حظر نسبة استخدام الشبكة إلى المنافذ التي تستخدمها خدمات HDInsight.

إشعار

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

لمزيد من المعلومات، راجع المقالات التالية:

اتصل بأمان بخدمات Azure باستخدام نقاط نهاية خدمة Azure Virtual Network

يدعم HDInsight نقاط نهاية خدمة الشبكة الظاهرية، والتي تسمح لك بالاتصال بأمان بقواعد بيانات Azure Blob Storage وAzure Data Lake Storage Gen2 وAzure Cosmos DB وSQL. من خلال تمكين نقطة نهاية الخدمة لـ Azure HDInsight، تتدفق نسبة استخدام الشبكة عبر مسار آمن من داخل مركز بيانات Azure. من خلال هذا المستوى المحسن من الأمان على طبقة الشبكة، يمكنك تأمين حسابات تخزين البيانات الضخمة لشبكاتها الافتراضية المحددة (VNETs) والاستمرار في استخدام مجموعات HDInsight بسلاسة للوصول إلى تلك البيانات ومعالجتها.

لمزيد من المعلومات، راجع المقالات التالية:

وصَّل HDInsight بالشبكة المحلية

يمكن توصيل HDInsight بالشبكة المحلية باستخدام Azure Virtual Networks وبوابة VPN. لإنشاء الاتصال اتبع الخطوات التالية:

  • استخدم HDInsight في Azure Virtual Network المتصلة بالشبكة المحلية.
  • تكوين تحليل اسم DNS بين الشبكة الظاهرية والشبكة المحلية.
  • كوِّن مجموعات أمان الشبكة أو المسارات المحددة من قِبل المستخدم (UDR) للتحكم في نسبة استخدام الشبكة.

لمزيد من المعلومات، راجع المقالة توصيل HDInsight بشبكتك المحلية

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

اقرأ المقالة التالية في هذه السلسلة: أفضل ممارسات التخزين المحلية لترحيل Azure HDInsight Hadoop.