الصفحة الرئيسية الموضوعات نظام الملفات الموزعة Hadoop (HDFS) ما هو نظام الملفات الموزعة Hadoop (HDFS)؟
استكشف حلول بيانات السحابة من IBM سجل للتعرف على تحديثات الذكاء الاصطناعي
رسم توضيحي مع مجموعة من الصور التوضيحية للسحب ومخطط دائري

تم التحديث: 14 يونيو 2024
المساهم: Jim Holdsworth

ما هو نظام الملفات الموزعة (HDFS)؟

Hadoop Distributed File System (HDFS) هو نظام تخزين بيانات يدير مجموعات البيانات الكبيرة التي يمكن تشغيلها على أجهزة سلعية. HDFS هو نظام تخزين البيانات الأكثر شيوعًا لـ Hadoop ويمكن استخدامه لتوسيع نطاق مجموعة Apache Hadoop واحدة إلى مئات وحتى آلاف العقد. ونظرًا لأنه يدير البيانات الكبيرة بكفاءة مع إنتاجية عالية، يمكن استخدام نظام HDFS كمسار بيانات وهو مثالي لدعم تحليلات البيانات المعقدة.

تم بناء HDFS على إطار عمل مفتوح المصدر وهو أحد العناصر الرئيسية لـ Apache Hadoop، والعناصر الأخرى هي MapReduce و YARN. لا ينبغي الخلط بين HDFS أو استبداله بـ Apache HBase، وهو نظام إدارة قواعد بيانات غير ارتباطية موجه نحو الأعمدة يقع فوق HDFS ويمكنه دعم احتياجات البيانات في الوقت الفعلي بشكل أفضل من خلال محرك المعالجة داخل الذاكرة.

الذكاء الاصطناعي التوليدي والتعلم الآلي (ML) للمؤسسات

تعرّف على الفوائد الرئيسية للذكاء الاصطناعي التوليدي وكيف يمكن للمؤسسات تعزيز أعمالها.

محتوى ذو صلة

التسجيل للحصول على كتاب إلكتروني عن مخازن البيانات المدعومة بالذكاء الاصطناعي

ميزات HDFS
تحمّل الأعطال والتعافي السريع من أعطال الأجهزة

نظرا لأن مثيل HDFS واحد قد يتكون من آلاف الخوادم، فإن فشل خادم واحد على الأقل أمر محتمل دائمًا. تم تصميم HDFS لاكتشاف الأعطال والتعافي تلقائيًا بسرعة. يساعد Data replication باستخدام نسخ متعددة عبر العديد من العقد على الحماية من فقدان البيانات. يحتفظ HDFS بنسخة واحدة على الأقل على رف مختلف عن جميع النسخ الأخرى. يؤدي تخزين البيانات في مجموعة كبيرة عبر العقد إلى زيادة الموثوقية. بالإضافة إلى ذلك، يمكن لـ HDFS التقاط لقطات تخزين لحفظ معلومات النقطة الزمنية (PIT).

الوصول إلى تدفق البيانات

صُمم HDFS على نحو خاص لمعالجة الدفعات مقابل الاستخدام التفاعلي، لذلك ينصب التركيز في التصميم على معدلات إنتاجية البيانات العالية، والتي تستوعب الوصول المتدفق إلى مجموعات البيانات.

استيعاب مجموعات البيانات الكبيرة

يستوعب نظام HDFS التطبيقات التي تستخدم مجموعات بيانات عادةً ما يتراوح حجمها بين الغيغابايت والتيرابايت. يوفر HDFS نطاقًا تردديًا عاليًا للبيانات المجمعة ويمكنه التوسع إلى مئات العقد في مجموعة واحدة ويساعد في تشغيل أنظمة الحوسبة عالية الأداء (HPC) . غالبًا ما يتم تخزين بحيرات البيانات على HDFS. استخدمت مستودعات البيانات أيضًا نظام HDFS، ولكن الآن بمعدل أقل، بسبب تعقيد التشغيل الملحوظ.

الكفاءة من حيث التكلفة

نظرًا لأنه يتم تخزين البيانات افتراضيًا، يمكن تقليل تكاليف البيانات الوصفية لنظام الملفات وتخزين بيانات مساحة اسم نظام الملفات.

قابلية النقل

لتسهيل الاعتماد، تم تصميم HDFS ليكون قابلاً للنقل عبر منصات أجهزة متعددة ومتوافقًا مع أنظمة التشغيل الأساسية المختلفة، بما في ذلك Linux وmacOS وWindows. بالإضافة إلى ذلك، فإن بحيرات بيانات Hadoop قادرة على دعم قواعد البيانات غير المنظمة وشبه المنظمة والمنظمة، لتحقيق أقصى قدر من المرونة. وفي حين يتم برمجة Hadoop بلغة Java، فإن لغات أخرى - (بما في ذلك C++ وPerl وPython وRuby) تتيح إمكانية استخدامه في علم البيانات.

سرعة المعالجة

يستخدم HDFS بنية المجموعة للمساعدة في تحقيق إنتاجية عالية. ولتقليل حركة بيانات الشبكة، يُخزن نظام ملفات Hadoop البيانات في DataNodes حيث تتم الحسابات، بدلاً من نقل البيانات إلى موقع آخر لإجراء الحسابات. 

قابلية التوسع

مع كل من ميزات قابلية التوسع الأفقية والرأسية، يمكن ضبط HDFS بسرعة ليتناسب مع احتياجات بيانات المؤسسة. قد تتضمن المجموعة مئات أو آلاف العقد.

بنية HDFS وكيفية عملها

يتمتع HDFS ببنية مدير/عامل.

  • تتضمن مجموعة HDFS NameNode واحدًا، وهو خادم المدير . يتتبع NameNode حالة جميع الملفات وأذونات الملف وموقع كل كتلة. يدير برنامج NameNode مساحة أسماء نظام الملفات والذي بدوره يتتبع ويتحكم في وصول العميل إلى الملفات وينفذ عمليات مثل فتح الملفات وإغلاقها وإعادة تسمية الدلائل والملفات.

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

  • غالبًا ما يكون هناك DataNode واحد لكل عقدة في مجموعة تدير تخزين البيانات داخل العقدة. يقوم برنامج DataNode بإدارة إنشاء الكتل وحذفها ونسخها، بالإضافة إلى طلبات القراءة والكتابة. يقوم كل DataNode بتخزين بيانات HDFS بشكل منفصل في نظام الملفات المحلي الخاص به مع كل كتلة كملف منفصل. تُعد DataNodes العقد العاملة (أو شياطين Hadoop، التي تقوم بتشغيل العمليات في الخلفية) ويمكن تشغيلها على الأجهزة السلعية إذا أرادت المؤسسة الاقتصاد.

كل من NameNode وDataNode هما برنامجان مكتوبان للتشغيل على مجموعة واسعة من أنظمة التشغيل (OS)، والتي غالباً ما تكون نظام تشغيل GNU/Linux. تم استخدام لغة Java في بناء HDFS، مما يعني أن أي جهاز يدعم Java يمكنه أيضا استخدام برنامج NameNode أو DataNode.

غالباً ما يكون لعمليات النشر جهاز واحد مخصص لتشغيل برنامج NameNode. بعد ذلك، يقوم أي جهاز آخر في المجموعة بتشغيل مثيل واحد من برنامج DataNode. إذا كانت هناك حاجة لذلك، ولكن يتم استخدامه بشكل غير متكرر، فمن الممكن تكوين أكثر من عقدة بيانات واحدة على جهاز واحد.

عندما يتم إحضار البيانات إلى HDFS، يتم تقسيمها إلى كتل وتوزيعها على عقد مختلفة في مجموعة. باستخدام البيانات المخزنة في DataNodes متعددة، يمكن نسخ الكتل إلى عقد أخرى لتمكين المعالجة المتوازية. يتضمن نظام الملفات الموزعة (DFS) أوامر للوصول بسرعة إلى البيانات واستردادها ونقلها وعرضها. باستخدام النسخ المتماثلة لكتل البيانات عبر DataNodes متعددة، يمكن إزالة نسخة واحدة دون المخاطرة بتلف ملف النسخ الأخرى. حجم كتلة HDFS الافتراضي هو 128 ميغابايت (Hadoop 2.x)، والذي سيعتبره البعض كبيرًا، ولكن يتم إجراء حجم الكتلة لتقليل أوقات البحث وتقليل البيانات الوصفية المطلوبة.

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

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

مساحة اسم نظام الملفات

يتم تنظيم HDFS باستخدام تسلسل هرمي تقليدي للملفات حيث يمكن للمستخدم إنشاء أدلة تحتوي على ملفات متعددة. يشبه التسلسل الهرمي لمساحة اسم نظام الملفات أنظمة الملفات التقليدية، حيث يقوم المستخدم بإنشاء الملفات وإزالتها ونقلها بين الأدلة ويمكنه إعادة تسمية الملفات.

يتم الاحتفاظ بمساحة اسم نظام الملفات بواسطة NameNode، الذي يحتفظ بسجلات لأي تغييرات في مساحة اسم نظام الملفات. يمكن تحديد العدد الإجمالي للنسخ المتماثلة المراد حفظها لأي تطبيق هنا. هذا الرقم هو عامل التكرار لهذا الملف. يمكن تعيين عامل التكرار عند إنشاء الملف وتعديله لاحقًا حسب الحاجة.

تكرار البيانات

من أجل توفير مساحة تخزين موثوقة، يقوم HDFS بتخزين الملفات الكبيرة في مواقع متعددة في مجموعة كبيرة، مع كل ملف في تسلسل من الكتل. يتم تخزين كل كتلة في ملف من نفس الحجم، باستثناء الكتلة النهائية، التي يتم تعبئتها عند إضافة البيانات. 

لمزيد من الحماية، تتم كتابة ملفات HDFS مرة واحدة بواسطة كاتب واحد فقط في أي وقت. للمساعدة في ضمان نسخ جميع البيانات وفقًا للتعليمات. يتلقى NameNode نبضات القلب (تقرير الحالة الدوري) وتقرير الكتلة (معرف الكتلة وختم الإنشاء وطول كل نسخة متماثلة من الكتلة) من كل DataNode مرفق بالمجموعة. يشير تلقي نبضات القلب إلى أن DataNode يعمل بشكل صحيح.

يقوم NameNode بتحديد معرف الرف لكل DataNode باستخدام عملية تسمى Hadoop Rack Awareness للمساعدة في منع فقدان البيانات في حالة فشل الرف بأكمله. يتيح هذا أيضًا استخدام النطاق الترددي من رفوف متعددة عند قراءة البيانات.

مثال على HDFS وحالات الاستخدام

فكر في ملف يتضمن أرقام هواتف لدولة بالكامل. قد يتم تخزين أرقام الأشخاص الذين لديهم لقبًا عائليًا يبدأ بحرف A على الخادم 1 وB على الخادم 2 وما إلى ذلك. وباستخدام Hadoop، سيتم تخزين أجزاء من دليل الهاتف هذا عبر مجموعة واحدة، ولإعادة بناء دليل الهاتف بالكامل، سيحتاج التطبيق إلى الكتل من كل خادم في المجموعة.

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

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

يمكن لـ HDFS أيضا تمكين الذكاء الاصطناعي (AI) والتعلم الآلي (ML) من خلال التوسع الفعال. أولاً، تخزين البيانات بكميات كبيرة كافية لتدريب نماذج التعلم الآلي، ثم الوصول إلى مجموعات البيانات الهائلة تلك.

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

  • الطاقة: عند استخدام وحدات قياس الطور (PMUs) لمراقبة أداء الشبكات الذكية في شبكات النقل الخاصة بها، قد تجمع شركة الكهرباء كميات هائلة من البيانات، مع آلاف السجلات في الثانية الواحدة. قد يكون HDFS هو نظام الملفات المطلوب الفعال من حيث التكلفة والمتوفر بشكل كبير الذي يمكنهم الاعتماد عليه.

  • الرعاية الصحية: يتزايد حجم السجلات الطبية كل يوم، حيث يُمكن جمع بيانات المعدات الطبية وبيانات أجهزة الاستشعار الخاصة بالمرضى وتخزينها بكفاءة من أجل تقديم علاج وأبحاث أكثر استجابة.

  • التسويق: يجب جمع البيانات من أنظمة إدارة علاقات العملاء (CRM) وأنظمة نقاط البيع (PoS) واستجابات الحملات ووسائل التواصل الاجتماعي—معظمها غير منظم—للتحليل وتوجيه جهود التسويق المستقبلية. قد توفر مجموعات HDFS حلاً لتوفير الميزانية لتخزين وتحليل الكميات الكبيرة من البيانات التي تم إنشاؤها.

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

  • البيع بالتجزئة:  لفهم عملائهم بشكل أفضل، يمكن لتجار التجزئة تجميع البيانات من مصادر متعددة وتحليلها. ويشمل ذلك سجلات المبيعات وتفاعلات خدمة العملاء ووسائل التواصل الاجتماعي، سواء كانت بيانات غير منظمة أو منظمة—لتطوير استراتيجيات مشاركة جديدة.

  • الاتصالات:  يمكن أن يساعد HDFS شركات الاتصالات على بناء مسارات شبكة قوية، وإجراء الصيانة التنبؤية، والإشارة إلى خيارات توسيع الشبكة الواعدة وتحليل سلوك العملاء.
تاريخ HDFS

كان أصل Hadoop، وفقًا للشريكين المؤسسين Mike Cafarella و Doug Cutting، ورقة بحثية عن نظام ملفات Google، نُشرت في عام 2003. وتبع ذلك ورقة بحثية ثانية بعنوان "MapReduce: معالجة مبسطة للبيانات على مجموعات كبيرة". بدأ تطوير محرك بحث مبكر يدعى Apache Nutch، ولكن بعد ذلك انتقل العمل مع Doug Cutting إلى Yahoo في عام 2006.

تمت تسمية Hadoop على اسم فيل لعبة كان يمتلكه ابن Cutting. (ومن هنا جاء الشعار). استندت شيفرة Hadoop الأولية إلى حد كبير على Nutch—لكنها تغلبت على قيود قابليتها للتوسع—واحتوت على كل من الإصدارات المبكرة من HDFS و MapReduce.

تستمر مجموعة البرامج في نظام Hadoop البنائي في النمو. بالإضافة إلى HDFS، هناك أيضًا:HBase (قاعدة بيانات NoSQL)، و Mahout ، و Spark MLLib (مكتبات خوارزمية للتعلم الآلي)، و MapReduce (معالجة البيانات القائمة على البرمجة)، و Oozie (مجدول الوظائف)، و  PIG وHIVE (خدمات معالجة البيانات القائمة على الاستعلام)، و Solar وLucene (للبحث والفهرسة)، و Spark (معالجة البيانات في الذاكرة)، و YARN (Yet Another Resource Negotiator) و Zookeeper (تنسيق المجموعة).

تُدار الآن البرمجيات مفتوحة المصدر ضمن نظام Hadoop البنائي بواسطة مؤسسة Apache للبرمجيات1—وهي مجتمع عالمي لمطوري البرمجيات والمساهمين في البرمجيات.

 

حلول ذات صلة
مخزن بيانات مفتوح وهجين وقابل للتحكم

watsonx.data™ متاح الآن: مخزن بيانات مناسب للغرض مبني على بنية مستودع بيانات مفتوح لتوسيع نطاق أعباء عمل الذكاء الاصطناعي، لجميع بياناتك في أي مكان.

استكشف watsonx.data
احصل على تحليلات أفضل وأسرع باستخدام حلول البيانات الضخمة من IBM

أبرمت ®IBM و Cloudera شراكة لتقديم توزيع Hadoop رائد في الصناعة على مستوى المؤسسات، بما في ذلك نظام بنائي متكامل من المنتجات والخدمات لدعم التحليلات الأسرع على نطاق واسع.

استكشف فرص البيانات الكبيرة مع IBM
الموارد ثلاثية منصة البيانات: تنافسية أم متكاملة؟

تظهر ثلاثة حلول مختلفة لمنصات البيانات على الأقل. تعرّف على العلاقة بين مستودع البيانات ونسيج البيانات وشبكة البيانات.

فهم البيانات الكبيرة بعيدًا عن الضجيج

اقرأ هذه المقدمة العملية للجيل القادم من بنيات البيانات. تعرض دور السحابة وتقنيات NoSQL وتناقش الجوانب العملية للأمن والخصوصية والحوكمة.

ما هو محرك استعلام بريستو (Presto)؟

يمنح Presto المؤسسات من جميع الأحجام طريقة سريعة وفعالة لتحليل البيانات الكبيرة من مصادر مختلفة بما في ذلك الأنظمة المحلية والبيئات السحابية.

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

يمكنك توسيع نطاق أحمال تشغيل الذكاء الاصطناعي ليشمل جميع بياناتك، في أي مكان، مع IBM watsonx.data، وهو مخزن بيانات مناسب حسب الغرض مبني على أساس مستودع بيانات مفتوح.

استكشف watsonx.data احجز عرضًا توضيحيًا مباشرًا
الحواشي

1 أساس برنامج Apache (الرابط موجود خارج ibm.com)