ما هي بنية خيوط Hadoop ومكوناتها
نشرت: 2020-02-10جدول المحتويات
مقدمة Hadoop YARN
YARN هو المكون الرئيسي لبرنامج Hadoop v2.0. يساعد YARN على فتح Hadoop من خلال السماح بمعالجة البيانات وتشغيلها لمعالجة الدُفعات ومعالجة الدفق والمعالجة التفاعلية ومعالجة الرسم البياني المخزنة في HDFS. بهذه الطريقة ، فإنه يساعد على تشغيل أنواع مختلفة من التطبيقات الموزعة بخلاف MapReduce.
في بنية YARN ، يتم فصل طبقة المعالجة عن طبقة إدارة الموارد. لإنشاء تقسيم بين مدير التطبيق ومدير الموارد ، كانت مسؤولية متعقب الوظيفة في إصدار Hadoop 1.0. يسمح YARN بمعالجة البيانات المخزنة في HDFS (نظام الملفات الموزعة Hadoop) وتشغيلها بواسطة محركات معالجة البيانات المختلفة مثل معالجة الدُفعات ومعالجة الدفق والمعالجة التفاعلية ومعالجة الرسم البياني وغير ذلك الكثير. وبالتالي يتم زيادة كفاءة النظام باستخدام YARN. تمت جدولة معالجة الطلب في YARN من خلال مكوناتها المختلفة. يتم أيضًا تخصيص العديد من أنواع الموارد المختلفة بشكل تدريجي للاستخدام الأمثل. يساعد YARN كثيرًا في الاستخدام السليم للموارد المتاحة ، وهو أمر ضروري جدًا لمعالجة حجم كبير من البيانات.
لماذا الغزل؟
ينفذ MapReduce وظائف إدارة الموارد ومعالجتها. يُعرف Hadoop v1.0 أيضًا باسم MapReduce الإصدار 1 (MRV1). لم يكن هناك سوى سيد واحد لـ Job Tracker.
لن تصدق كيف غير هذا البرنامج مسيرة الطلابفي الإصدار السابق من Hadoop ، يستخدم الإصدار 1.0 من Hadoop ، والذي يُعرف أيضًا باسم MapReduce الإصدار 1 (MRV1) لأداء كل من مهمة إدارة العملية والموارد بنفسها. يحتوي على وحدة تعقب الوظائف المسؤولة عن كل شيء. ومن ثم ، فإن المعلم الفردي هو الذي يخصص الموارد للتطبيقات ، ويؤدي جدولة الطلب ويراقب أيضًا وظائف المعالجة في النظام. يقلل Hadoop الإصدار 1.0 من المهام ويعين الخرائط على العديد من العمليات الفرعية التي تسمى Task Trackers. يقوم Task Tracker أيضًا بالإبلاغ عن تقدم العمليات بطريقة دورية. لكن المشكلة الرئيسية ليست في ذلك ، فالمشكلة تكمن في تصميم سيد واحد للجميع ، مما يؤدي إلى مشكلة اختناق. أيضا ، كان استخدام الموارد الحسابية غير فعال. وبالتالي أصبحت قابلية التوسع مشكلة في هذا الإصدار من Hadoop. ولكن على الجانب المشرق ، تم حل هذه المشكلة بواسطة YARN ، وهو مكون أساسي حيوي في الإصدار 2.0 من Hadoop الذي تم تقديمه في عام 2012 بواسطة Yahoo و Hortonworks. الفكرة الأساسية وراء هذا الإغاثة هي فصل MapReduce عن إدارة الموارد وجدولة الوظائف بدلاً من برنامج رئيسي واحد. وبالتالي ، فإن YARN مسؤولة الآن عن جدولة الوظائف وإدارة الموارد.
في Hadoop 2.0 ، تم تقديم مفهوم التطبيق الرئيسي ومدير الموارد بواسطة YARN. عبر مجموعة Hadoop ، تتم مراقبة استخدام الموارد من قبل مدير الموارد.
هناك بعض ميزات YARN التي اكتسبت شهرة كبيرة بسببها ، وهي:

- متعدد الإيجارات: سمحت YARN بالوصول إلى محركات معالجة البيانات المتعددة مثل محرك معالجة الدُفعات ومحرك معالجة التدفق ومحرك المعالجة التفاعلية ومحرك معالجة الرسم البياني وغير ذلك الكثير. وقد أعطى هذا ميزة تعدد الإيجارات للشركة.
- استخدام الكتلة: يتم استخدام المجموعات بطريقة محسّنة لأن المجموعات تستخدم ديناميكيًا في Hadoop بمساعدة YARN.
- التوافق : YARN متوافق أيضًا مع الإصدار الأول من Hadoop ، أي Hadoop 1.0 ، لأنه يستخدم تطبيقات تقليل الخرائط الحالية. لذلك يمكن أيضًا استخدام YARN مع Hadoop 1.0.
- قابلية التوسع : يسمح المجدول في إدارة الموارد في YARN بإدارتها وتوسيع نطاقها بواسطة Hadoop.
مكونات الغزل
- حاوية:
في الحاوية ، يمكن للمرء أن يجد موارد مادية مثل قرص على عقدة واحدة ، أنوية وحدة المعالجة المركزية ، ذاكرة الوصول العشوائي. يتم استخدام سياق تشغيل الحاوية (CLC) لاستدعاء الحاويات. بيانات حول التبعيات ورموز الأمان ومتغيرات البيئة التي يتم الاحتفاظ بها كسجل يُعرف باسم سياق إطلاق الحاوية (CLC).
- على مضيف معين ، يمكن للتطبيق استخدام ذاكرة محددة فقط من وحدة المعالجة المركزية والذاكرة. لا يمكن استخدام هذا المقدار المحدد من الذاكرة إلا بعد منح الإذن بواسطة الحاوية.
- يستخدم سياق إطلاق الحاوية لإدارة حاويات YARN. ويسمى أيضًا دورة حياة الحاوية (CLC). يتم تخزين الأوامر اللازمة لإنشاء العملية في هذا السجل. كما أنه يحفظ الحمولة النافعة لخدمات Node Manager ، ورموز الأمان ، والتبعيات ، وخريطة متغيرات البيئة.
- ماجستير التطبيق:
في إطار العمل ، عندما يتم تقديم وظيفة واحدة ، يطلق عليها طلب. مراقبة تقدم التطبيق ، وتتبع حالة التطبيق ، والتفاوض على الموارد مع مدير الموارد هي مسؤولية مدير التطبيق. تتم جميع متطلبات تشغيل التطبيق عن طريق إرسال سياق تشغيل الحاوية (CLC). يقوم التطبيق الرئيسي بنشر سياق تشغيل الحاوية (CLC) عن طريق طلب الحاوية من مدير العقدة. من وقت لآخر ، يتلقى مدير الموارد تقريرًا صحيًا بعد بدء التطبيق.

- مدير العقدة:
يعتني مدير العقدة بالعقد الفردية في مجموعة Hadoop ويدير أيضًا الحاويات المتعلقة بكل عقدة محددة. يتم تسجيله في إدارة الموارد ويرسل الحالة الصحية لكل عقدة إلى إدارة الموارد ، موضحًا ما إذا كانت عملية العقدة قد انتهت من العمل مع المورد. حيث أن هدفه الأساسي هو إدارة كل حاوية عقدة محددة يتم تعيينها بواسطة مدير الموارد. يقوم مدير العقدة أيضًا بإنشاء عملية حاوية عند طلب مدير التطبيق. عندما يرسل مدير التطبيق ويسأل الحاوية المرفقة من مدير العقدة بواسطة CLC (سياق تشغيل الحاوية) والذي يتضمن كل ما يحتاجه التطبيق لتنفيذه. ثم يقوم مدير العقدة بإنشاء حاوية العملية المطلوبة وتشغيلها. مدير العقدة مسؤول أيضًا عن مراقبة استخدام الموارد بواسطة حاوية فردية وإبلاغ مدير الموارد بها. وبالتالي ، يتعاون مدير العقدة ومدير الموارد للتواصل بين العقد وإدارة استخدام الموارد بواسطة كل عقدة في الكتلة. يمكنه أيضًا قتل الحاويات إذا تم توجيهه من قبل مدير الموارد. أخيرًا ، يقوم مديرو العقد بتسجيل كل شيء بواسطة نظام إدارة السجل فيه.
يتولى مدير العقدة رعاية عقدة معينة. يدير Node Manager سير العمل وتطبيق العقدة. يتم تنفيذ إدارة السجل ، ويقوم Node Manager بمراقبة استخدام الموارد. يعطي مدير الموارد توجيهات لقتل الحاوية إلى Node Manager. يطلب مدير التطبيق من مدير العقدة بدء عملية الحاوية. تقع مسؤولية إنشاء عملية الحاوية على عاتق مدير Node.
- مدير موارد:
تقع مسؤولية إدارة الموارد وتعيين جميع التطبيقات على Resource Manager وهي الخدمة الرئيسية لـ YARN. يتم إعادة توجيه الطلبات التي يتلقاها مدير الموارد إلى مدير العقدة المقابل. وفقًا للتطبيق ، يتم تخصيص الموارد من قبل مدير الموارد لإكمالها.
- تم تحسين استخدام الكتلة ، مثل الحفاظ على استخدام جميع الموارد نشطًا ضد أنواع مختلفة من القيود مثل اتفاقيات مستوى الخدمة والإنصاف وضمانات السعة.
- يقوم مدير الموارد بتخصيص الموارد المتاحة.
- تتحكم إدارة الموارد في موارد نظام المجموعة.
- تتم المعالجة الفعلية للطلبات في العقد ، ويقوم مديرو العقد بإدارتها. عندما يتم تلقي أي طلب للمعالجة ، فإنه ينقل الطلبات في أجزاء إلى مديري العقد المطابقين.
- إدارة الموارد هي أعلى سلطة لتخصيص الموارد.
هناك نوعان من المكونات الأساسية لمدير الموارد ، وهما: -

- مدير التطبيق -
مدير التطبيق مسؤول عن إدارة مجموعة من المهام أو التطبيقات المقدمة. يقوم أولاً بالتحقق من مواصفات التطبيق المقدم والتحقق من صحتها وقد يرفض الطلبات إذا لم تكن هناك موارد كافية متاحة. كما أنه يضمن عدم وجود تطبيق آخر بنفس المعرف الذي تم إرساله بالفعل والذي يمكن أن يكون ناتجًا عن عميل خاطئ أو ضار. ثم يقوم بإعادة توجيه الطلب المقدم بعد التحقق من صحته إلى المجدول. أخيرًا ، يراقب أيضًا حالات التطبيقات ويدير التطبيقات المنتهية لحفظ بعض ذاكرة إدارة الموارد. يحتفظ مدير التطبيق بذاكرة تخزين مؤقت للتطبيقات المنتهية وينقل التطبيقات القديمة المنتهية لاستيعاب مساحة للتطبيقات المقدمة حديثًا.
- المجدول -
استنادًا إلى توفر الموارد وتخصيص التطبيقات ، يقوم المجدول بجدولة المهام. لا توجد مهمة أخرى يقوم بها المجدول مثل عدم إعادة تشغيل الوظيفة بعد الفشل أو تتبع أو مراقبة المهام. الأنواع المختلفة من الإضافات المجدولة هي Fair Scheduler و Capacity Scheduler ، وهما مدعومان من قبل مجدول YARN لقسم موارد المجموعة.
خطوات سير العمل للتطبيق في Hadoop YARN
يتم تقديم الطلب من قبل العميل.
- يبدأ مدير التطبيقات بتخصيص الحاوية بواسطة مدير الموارد.
- يقوم مدير الموارد ومدير التطبيقات بالتسجيل مع بعضهما البعض.
- يقوم مدير التطبيقات بالتفاوض بشأن الحاوية مع مدير الموارد.
- يقوم مدير العقدة بتشغيل الحاوية بعد إخطاره من قبل مدير التطبيقات.
- يتم تنفيذ كود التطبيق في الحاوية.
- يراقب مدير التطبيقات أو إدارة الموارد حالة التطبيق بعد اتصال العميل به.
- يتم إلغاء تسجيل مدير التطبيقات مع إدارة الموارد بعد اكتمال العملية.
تغليف
إذا كنت مهتمًا بمعرفة المزيد عن البيانات الضخمة ، فراجع دبلومة PG في تخصص تطوير البرمجيات في برنامج البيانات الضخمة المصمم للمهنيين العاملين ويوفر أكثر من 7 دراسات حالة ومشاريع ، ويغطي 14 لغة وأدوات برمجة ، وتدريب عملي عملي ورش العمل ، أكثر من 400 ساعة من التعلم الصارم والمساعدة في التوظيف مع الشركات الكبرى.
تعلم دورات تطوير البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.