استخدام تخزين Azure مع أنظمة مجموعة Azure HDInsight

يمكنك تخزين البيانات في مخزن البيانات الثنائية الكبيرة من Azure أو Azure Data Lake Storage Gen1 أو Azure Data Lake Storage Gen2. أو مزيج من هذه الخيارات. تمكنك جميع خيارات التخزين من حذف أنظمة مجموعات HDInsight المُستخدمة للحساب بأمان دون فقدان بيانات المستخدم.

يدعم Apache Hadoop فكرة نظام الملفات الافتراضي. نظام الملفات الافتراضي يعني نظام افتراضي وسلطة افتراضية. ويمكن أيضاً أن تستخدم لحل المسارات النسبية. أثناء عملية إنشاء نظام مجموعة HDInsight، حدد حاوية كائن ثنائي كبير الحجم في تخزين Azure كنظام الملفات الافتراضي. أو مع إصدار HDInsight 3.6، يمكنك تحديد مخزن البيانات الثنائية الكبيرة من Azure أو Azure Data Lake Storage Gen1 / Azure Data Lake Storage Gen2 كنظام الملفات الافتراضي مع وجود استثناءات قليلة. للحصول على إمكانية دعم استخدام Data Lake Storage Gen1 كسعة تخزين افتراضية ومرتبطة، راجع توفر نظام مجموعة HDInsight.

في هذه المقالة، يمكنك معرفة كيفية عمل تخزين Azure مع أنظمة مجموعات HDInsight.

هام

يمكن استخدام نوع حساب التخزين BlobStorage فقط كمخزن ثانوي لأنظمة مجموعات HDInsight.

⁧⁩نوع حساب التخزين⁧⁩ الخدمات المدعومة طبقات الأداء المدعومة طبقات الأداء غير المدعومة طبقات الوصول المدعومة
StorageV2 (غرض-عام v2) كائن ثنائي كبير الحجم قياسي متميز حار، بارد، أرشيف*
التخزين (الغرض العام الإصدار 1) كائن ثنائي كبير الحجم قياسي متميز غير متوفر
BlobStorage كائن ثنائي كبير الحجم قياسي متميز حار، بارد، أرشيف*

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

مشاركة الحاوية الثنائية كبيرة الحجم الواحدة كنظام الملفات الافتراضي لأنظمة مجموعات متعددة غير مدعومة.

ملاحظة

طبقة الوصول إلى الأرشيف هي طبقة غير متصلة وتحتوي على زمن استرجاع لعدة ساعات ولا ينصح باستخدامها مع HDInsight. لمزيد من المعلومات، راجع طبقة الوصول إلى الأرشيف.

الوصول إلى الملفات من داخل نظام مجموعة

هناك عدة طرق يمكنك من خلالها الوصول إلى الملفات في Azure Data Lake Storage من نظام مجموعة HDInsight. يوفر نظام URI الوصول غير المشفر (مع البادئة wasb: ) والوصول المشفر TLS (مع wasbs) . نوصي باستخدام wasbs كلما أمكن، حتى عند الوصول إلى البيانات الموجودة داخل المنطقة نفسها في Azure.

  • استخدام الاسم المؤهل بالكامل. باستخدام هذا النهج، يمكنك توفير مسار كامل إلى الملف الذي تريد الوصول إليه.

    wasb://<containername>@<accountname>.blob.core.windows.net/<file.path>/
    wasbs://<containername>@<accountname>.blob.core.windows.net/<file.path>/
    
  • استخدام تنسيق مسار مختصر. باستخدام هذا النهج، يمكنك استبدال المسار حتى جذر نظام المجموعة باستخدام:

    wasb:///<file.path>/
    wasbs:///<file.path>/
    
  • استخدام المسار النسبي. باستخدام هذا النهج، يمكنك توفير مسار نسبي فقط إلى الملف الذي تريد الوصول إليه.

    /<file.path>/
    

أمثلة على الوصول إلى البيانات

تستند الأمثلة على اتصال ssh إلى العقدة الرئيسية لنظام المجموعة. تستخدم الأمثلة جميع أنظمة URI الثلاثة. استبدل CONTAINERNAME وSTORAGEACCOUNT بالقيم ذات الصلة

بعض أوامر hdfs

  1. إنشاء ملف على التخزين المحلي.

    touch testFile.txt
    
  2. إنشاء دلائل على تخزين نظام المجموعة.

    hdfs dfs -mkdir wasbs://CONTAINERNAME@STORAGEACCOUNT.blob.core.windows.net/sampledata1/
    hdfs dfs -mkdir wasbs:///sampledata2/
    hdfs dfs -mkdir /sampledata3/
    
  3. نسخ البيانات من التخزين المحلي إلى تخزين نظام المجموعة.

    hdfs dfs -copyFromLocal testFile.txt  wasbs://CONTAINERNAME@STORAGEACCOUNT.blob.core.windows.net/sampledata1/
    hdfs dfs -copyFromLocal testFile.txt  wasbs:///sampledata2/
    hdfs dfs -copyFromLocal testFile.txt  /sampledata3/
    
  4. سرد محتويات الدليل على تخزين نظام المجموعة.

    hdfs dfs -ls wasbs://CONTAINERNAME@STORAGEACCOUNT.blob.core.windows.net/sampledata1/
    hdfs dfs -ls wasbs:///sampledata2/
    hdfs dfs -ls /sampledata3/
    

ملاحظة

عند العمل مع السعات التخزينية الثنائية كبيرة الحجم خارج HDInsight، معظم الأدوات المساعدة لا تعترف بتنسيق WASB وبدلاً من ذلك نتوقع تنسيق مسار أساسي، مثل example/jars/hadoop-mapreduce-examples.jar.

إنشاء جدول الخلية

تُعرض ثلاثة مواقع ملفات لأغراض توضيحية. للتنفيذ الفعلي، استخدم أحد إدخالات LOCATION فقط.

DROP TABLE myTable;
CREATE EXTERNAL TABLE myTable (
    t1 string,
    t2 string,
    t3 string,
    t4 string,
    t5 string,
    t6 string,
    t7 string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ' '
STORED AS TEXTFILE
LOCATION 'wasbs://CONTAINERNAME@STORAGEACCOUNT.blob.core.windows.net/example/data/';
LOCATION 'wasbs:///example/data/';
LOCATION '/example/data/';

الوصول إلى الملفات من خارج نظام مجموعة

توفر Microsoft الأدوات التالية للعمل مع تخزين Azure:

الأداة Linux OS X Windows
⁩مدخل Microsoft Azure⁧
Azure CLI
Azure PowerShell
AzCopy

تحديد مسار التخزين من Ambari

  • لتحديد المسار الكامل للمخزن الافتراضي المُكون، انتقل إلى:

    HDFS>تكوين وأدخل fs.defaultFS في مربع إدخال عامل التصفية.

  • للتحقق مما إذا تم تكوين مخزن wasb كمخزن ثانوي، انتقل إلى:

    HDFS>تكوين وأدخل blob.core.windows.net في مربع إدخال عامل التصفية.

للحصول على المسار باستخدام واجهة برمجة تطبيقات Ambari REST، راجع الحصول على التخزين الافتراضي.

حاويات كائن ثنائي كبير الحجم

لاستخدام المخازن الثنائية كبيرة الحجم، قم أولاً بإنشاء حساب تخزين Azure. كجزء من هذه الخطوة، يمكنك تحديد منطقة Azure حيث يتم إنشاء حساب التخزين. يجب استضافة نظام المجموعة وحساب التخزين في نفس المنطقة. يجب أن تكون قاعدة بيانات SQL Server metastore للخلية وقاعدة بيانات Apache Oozie metastore SQL Server موجودين في نفس المنطقة.

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

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

ملاحظة

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

استخدام حسابات تخزين إضافية

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

تحذير

لا يتم دعم استخدام حساب تخزين إضافي في موقع مختلف عن نظام مجموعة HDInsight.

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

في هذه المقالة، تعلمت كيفية استخدام تخزين Azure المتوافق مع HDFS باستخدام HDInsight. تسمح لك سعة التخزين هذه ببناء حلول الحصول على البيانات القابلة للتكيف وطويلة الأجل واستخدام HDInsight لفتح المعلومات داخل البيانات المنظمة وغير المنظمة المُخزنة.

لمزيد من المعلومات، انظر: