‫بر‬ ‫مروری‬YARN
‫رضایی‬‫ناصر‬
nasser.rezaei.novin@gmail.com
‫مقدمه‬
•YARN(Yet Another Resource Negotiator)‫است‬ ‫هدوپ‬ ‫در‬‫کالستر‬ ‫مدیریت‬ ‫سیستم‬ ،.
•YARN،API‫کند‬ ‫می‬ ‫عرضه‬ ‫را‬ ‫کالسترها‬ ‫منابع‬ ‫با‬ ‫کارکردن‬ ‫و‬ ‫دادن‬ ‫درخواست‬ ‫ای‬‫ر‬‫ب‬ ‫هایی‬.
•‫این‬API‫شوند‬ ‫نمی‬ ‫استفاده‬‫کاربر‬ ‫کدهای‬ ‫توسط‬ ‫معموال‬ ‫ها‬.‫ان‬‫ر‬‫کارب‬ ‫عوض‬ ‫در‬API‫فریم‬ ‫توسط‬ ‫که‬ ‫باالتری‬ ‫سطح‬ ‫های‬
‫روی‬ ‫خود‬ ‫که‬ ‫توزیعی‬ ‫پردازش‬ ‫های‬ ‫ورک‬YARN‫من‬ ‫مدیریت‬ ‫جزئیات‬ ‫که‬ ‫کنند‬ ‫می‬ ‫استفاده‬ ‫را‬ ‫اند‬ ‫شده‬ ‫سازی‬ ‫پیاده‬‫ابع‬
‫کنند‬ ‫می‬ ‫مخفی‬‫کاربر‬ ‫از‬ ‫را‬.
•‫دارد‬ ‫وجود‬ ‫باال‬ ‫شکل‬ ‫های‬ ‫ورک‬ ‫فریم‬ ‫از‬‫باالتر‬ ‫الیه‬ ‫یک‬:Pig،Hive،Crunch‫که‬ ‫هستند‬ ‫هایی‬ ‫ورک‬ ‫فریم‬ ‫از‬ ‫هایی‬ ‫مثال‬
‫روی‬MapReduce،Spark،Tez‫و‬...‫با‬ ‫و‬ ‫شوند‬ ‫می‬ ‫سوار‬YARN‫ندارند‬ ‫ارتباطی‬.
‫در‬ ‫اپلیکیشن‬ ‫ای‬‫ر‬‫اج‬ ‫ساختار‬YARN
•YARN‫زمینه‬ ‫پس‬ ‫پردازش‬ ‫نوع‬ ‫دو‬ ‫با‬ ‫را‬ ‫خود‬ ‫کزی‬‫مر‬ ‫های‬ ‫سرویس‬
1
‫کند‬ ‫می‬ ‫ا‬‫ر‬‫اج‬.
•‫منابع‬‫مدیر‬(‫کالستر‬‫هر‬ ‫ای‬‫ر‬‫ب‬ ‫یکی‬:)‫کالستر‬ ‫در‬ ‫منابع‬ ‫از‬ ‫استفاده‬ ‫مدیریت‬ ‫ای‬‫ر‬‫ب‬.
•‫مدیر‬node:‫تمام‬ ‫روی‬node‫مدیریت‬ ‫و‬ ‫ا‬‫ر‬‫اج‬ ‫ای‬‫ر‬‫ب‬‫کالستر‬ ‫های‬container‫ها‬.Container‫هایی‬ ‫برنامه‬ ‫ها‬
‫با‬ ‫که‬ ‫هستند‬virtual‫بند‬ ‫بخش‬ ‫و‬‫منحصر‬ ‫را‬ ‫سیستم‬ ‫منابع‬ ،‫عامل‬ ‫سیستم‬ ‫سطح‬ ‫در‬ ‫سیستم‬ ‫سازی‬‫می‬ ‫ی‬
‫کنند‬.‫یک‬container،‫حافظه‬ ‫مثل‬ ‫سیستم‬ ‫منابع‬ ‫از‬ ‫مشخصی‬ ‫ان‬‫ز‬‫می‬ ‫با‬ ‫را‬ ‫اپلیکیشن‬CPU‫و‬...‫می‬ ‫ا‬‫ر‬‫اج‬
‫کند‬.
1
daemon
‫در‬ ‫اپلیکیشن‬ ‫ای‬‫ر‬‫اج‬ ‫ساختار‬YARN
‫در‬ ‫اپلیکیشن‬ ‫ای‬‫ر‬‫اج‬ ‫ساختار‬YARN
1-‫با‬ ‫کالینت‬ResourceManager‫پردازش‬ ‫ای‬‫ر‬‫اج‬ ‫درخواست‬ ‫و‬ ‫کند‬ ‫می‬ ‫ار‬‫ر‬‫برق‬ ‫ارتباط‬application master‫می‬ ‫را‬
‫دهد‬.
2-ResourceManager‫یک‬NodeManager‫تواند‬ ‫می‬ ‫که‬ ‫کند‬ ‫می‬ ‫پیدا‬ ‫را‬application master‫یک‬ ‫در‬ ‫را‬
container‫کند‬ ‫ا‬‫ر‬‫اج‬.
3-application master‫به‬ ‫بسته‬ ‫تواند‬ ‫می‬application‫همان‬ ‫در‬container‫یا‬ ‫دهد‬ ‫انجام‬ ‫را‬ ‫خود‬ ‫کار‬
‫درخواست‬container‫از‬ ‫بیشتری‬ ‫های‬ResourceManager‫بکند‬.
4-application master‫کند‬ ‫می‬ ‫استفاده‬ ‫توزیعی‬ ‫پردازش‬ ‫ای‬‫ر‬‫ب‬ ‫جدید‬ ‫منبع‬ ‫از‬.
•YARN‫اپلیکیشن‬ ‫های‬ ‫بخش‬ ‫ای‬‫ر‬‫ب‬ ‫ارتباطی‬ ‫هیچ‬ ‫خود‬ ‫خودی‬ ‫به‬(client،master،process)‫کند‬ ‫نمی‬ ‫اهم‬‫ر‬‫ف‬.
‫اپلیکیشن‬ ‫ساخت‬YARN
•‫اپلیکیشن‬ ‫ساخت‬YARN‫آ‬ ‫های‬ ‫اپلیکیشن‬ ‫از‬ ‫استفاده‬ ‫امکان‬ ‫اغلب‬ ‫اما‬ ‫دارد‬ ‫زیادی‬ ‫های‬ ‫پیچیدگی‬ ‫ابتدا‬ ‫از‬‫که‬ ‫ماده‬
‫دارد‬ ‫وجود‬ ‫باشد‬ ‫ها‬ ‫نیازمندی‬ ‫پاسخگوی‬(‫مثل‬Spark،Tez.)
•‫ان‬‫ر‬‫کارب‬‫مثل‬ ‫را‬ ‫ها‬ ‫اپلیکیشن‬ ‫از‬ ‫خود‬ ‫نسخه‬ ‫توانند‬ ‫می‬HBase‫که‬ ‫است‬ ‫معنی‬ ‫این‬ ‫به‬ ‫که‬ ‫کنند‬ ‫ا‬‫ر‬‫اج‬‫کالستر‬ ‫روی‬
‫کنند‬ ‫ا‬‫ر‬‫اج‬ ‫را‬ ‫اپلیکیشن‬ ‫یک‬ ‫از‬ ‫مختلفی‬ ‫های‬ ‫نسخه‬ ‫توانند‬ ‫می‬ ‫مختلف‬ ‫ان‬‫ر‬‫کارب‬.
•Apache Slider:‫روی‬ ‫را‬ ‫موجود‬ ‫شده‬ ‫توزیع‬ ‫اپلیکیشن‬ ‫تواند‬ ‫می‬YARN‫کند‬ ‫ا‬‫ر‬‫اج‬.
•Apache Twill:‫مثل‬Slider‫توزی‬ ‫های‬ ‫اپلیکیشن‬ ‫توسعه‬ ‫ای‬‫ر‬‫ب‬ ‫اضافه‬ ‫نویسی‬ ‫برنامه‬ ‫مدل‬ ‫یک‬ ‫ولی‬ ‫است‬‫روی‬ ‫عی‬
YARN‫دهد‬ ‫می‬ ‫ارائه‬.
•‫نباشند‬ ‫ما‬ ‫نیازهای‬ ‫پاسخگوی‬ ‫شده‬‫ذکر‬ ‫موارد‬ ‫از‬ ‫کدام‬ ‫هیچ‬ ‫که‬ ‫حالتی‬ ‫در‬distributed shell‫از‬ ‫بخشی‬ ‫خود‬ ‫که‬
‫پروژه‬YARN‫های‬ ‫اپلیکیشن‬ ‫نوشتن‬ ‫ای‬‫ر‬‫ب‬ ‫ای‬ ‫نمونه‬ ‫عنوان‬ ‫به‬ ‫است‬YARN‫باشد‬ ‫مفید‬ ‫تواند‬ ‫می‬.
‫در‬ ‫زمانبندی‬YARN
•‫پ‬ ‫امکان‬ ‫اوقات‬ ‫خیلی‬ ‫زمانبندی‬ ‫سیاست‬ ‫بهترین‬ ‫کردن‬ ‫تعیین‬ ‫و‬ ‫است‬ ‫عمومی‬ ‫مشکل‬ ‫یک‬ ‫زمانبندی‬‫نیست‬‫ذیر‬.
•YARN‫گذارد‬ ‫می‬ ‫ما‬ ‫اختیار‬ ‫در‬ ‫را‬ ‫ها‬ ‫آن‬ ‫پیکربندی‬ ‫و‬ ‫ها‬ ‫زمانبندی‬ ‫از‬ ‫انتخابی‬.
•‫پیکربندی‬ ‫های‬ ‫گزینه‬:
•FIFO:‫شوند‬ ‫می‬ ‫ا‬‫ر‬‫اج‬ ‫ترتیب‬ ‫به‬ ‫و‬ ‫گیرند‬ ‫می‬ ‫ار‬‫ر‬‫ق‬ ‫صف‬ ‫یک‬ ‫در‬ ‫ها‬ ‫اپلیکیشن‬.
•Capacity Scheduler:‫به‬ ‫کوچک‬ ‫ظرفیت‬ ‫با‬ ‫مجزا‬ ‫صف‬ ‫یک‬job‫شدن‬ ‫ثبت‬ ‫زمان‬ ‫همان‬ ‫در‬ ‫که‬ ‫دهد‬ ‫می‬ ‫را‬ ‫اجازه‬ ‫این‬ ‫کوچک‬ ‫های‬
‫شوند‬ ‫ا‬‫ر‬‫اج‬.
•Fair Scheduler:‫کاره‬ ‫همه‬ ‫بین‬ ‫باالنسی‬ ‫ا‬‫ر‬‫زی‬ ،‫نیست‬ ‫جداگانه‬ ‫صف‬ ‫ای‬‫ر‬‫ب‬‫کالستر‬ ‫از‬ ‫قسمتی‬ ‫کردن‬ ‫رزرو‬ ‫به‬ ‫احتیاجی‬‫وجود‬ ‫به‬ ‫ا‬
‫آورد‬ ‫می‬.
•‫منصفانه‬ ‫میزان‬ ‫که‬ ‫زمانی‬ ‫تا‬ ‫شود‬ ‫می‬ ‫شروع‬ ‫بعدی‬ ‫کارهای‬ ‫که‬ ‫زمانی‬ ‫بین‬‫تاخیر‬ ‫یک‬(Fair)‫دارد‬ ‫وجود‬ ‫کند‬ ‫می‬ ‫دریافت‬ ‫را‬.
‫در‬ ‫زمانبندی‬YARN
‫پیکربندی‬Capacity Scheduler
•Queue elasticity:‫از‬ ‫صفی‬‫اگر‬job‫پردازش‬ ‫حال‬ ‫در‬ ‫دیگری‬ ‫صف‬ ‫و‬ ‫باشد‬ ‫خالی‬job‫منابع‬ ‫از‬ ‫مقداری‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫امکان‬ ‫این‬ ‫باشد‬
‫شود‬ ‫داده‬ ‫پردازش‬ ‫حال‬ ‫در‬ ‫صف‬ ‫به‬ ‫خالی‬ ‫صف‬.
•‫باشد‬‫زیر‬ ‫شکل‬ ‫مانند‬ ‫صف‬ ‫اتب‬‫ر‬‫م‬ ‫سلسله‬ ‫کنید‬ ‫فرض‬:
•‫از‬ ‫استفاده‬ ‫با‬yarn.scheduler.capacity.<queue-path>.<sub-property>‫آن‬ ‫در‬ ‫که‬<queue-path>‫مسیر‬
‫مثل‬ ‫است‬ ‫ریشه‬ ‫از‬ ‫صف‬root.prod‫و‬<sub-property>‫مثل‬ ‫کنیم‬ ‫دستکاری‬ ‫خواهیم‬ ‫می‬ ‫که‬ ‫خصوصیتی‬ ‫هم‬queue‫یا‬
capacity‫کنیم‬ ‫می‬ ‫پیکربندی‬ ‫را‬ ‫صف‬ ،.
‫پیکربندی‬Capacity Scheduler
•‫با‬ ‫را‬ ‫صف‬ ‫توان‬ ‫می‬XML‫که‬ ‫کرد‬ ‫پیکربندی‬ ‫روبرو‬:
•‫کند‬ ‫می‬ ‫معرفی‬ ‫را‬ ‫اصلی‬ ‫صف‬ ‫اعضای‬ ‫اول‬ ‫ویژگی‬.
•‫صف‬ ‫اعضای‬ ‫دوم‬ ‫ویژگی‬dev‫کند‬ ‫می‬ ‫مشخص‬ ‫را‬.
•‫صف‬ ‫ظرفیت‬ ‫سوم‬ ‫ویژگی‬prod‫کند‬ ‫می‬ ‫مشخص‬ ‫را‬.
•‫صف‬ ‫ظرفیت‬ ‫چهارم‬ ‫ویژگی‬dev‫کند‬ ‫می‬ ‫مشخص‬ ‫را‬.
•‫صف‬ ‫که‬ ‫را‬ ‫منابعی‬‫حداکثر‬ ‫پنجم‬ ‫ویژگی‬dev‫کند‬ ‫می‬ ‫مشخص‬ ‫را‬ ‫بگیرد‬ ‫اختیار‬ ‫در‬ ‫تواند‬ ‫می‬
•(queue elasticity.)
•‫های‬ ‫صف‬ ‫از‬ ‫کدام‬‫هر‬ ‫ظرفیت‬ ‫هفتم‬ ‫و‬ ‫ششم‬ ‫های‬ ‫ویژگی‬eng‫و‬science‫کنند‬ ‫می‬ ‫مشخص‬ ‫را‬.
Fair sharing‫ان‬‫ر‬‫کارب‬ ‫های‬ ‫صف‬ ‫ای‬‫ر‬‫ب‬
•Fair sharing‫کردن‬ ‫قبضه‬ ‫از‬(preemption)‫برد‬ ‫می‬ ‫بهره‬.‫تواند‬ ‫می‬ ‫زمانبند‬ ‫که‬ ‫معنی‬ ‫این‬ ‫به‬container‫که‬ ‫هایی‬ ‫صف‬ ‫های‬
‫ملغی‬ ‫را‬ ‫دارند‬ ‫دسترس‬ ‫در‬ ‫اکی‬‫ر‬‫اشت‬ ‫منابع‬ ‫شده‬ ‫مشخص‬ ‫حد‬ ‫از‬ ‫بیش‬(kill)‫کند‬.
‫منابع‬
• White, Tom. Hadoop: The definitive guide, 4th edition. " O'Reilly Media, Inc.", 2015.

Yarn مروری بر

  • 1.
  • 2.
    ‫مقدمه‬ •YARN(Yet Another ResourceNegotiator)‫است‬ ‫هدوپ‬ ‫در‬‫کالستر‬ ‫مدیریت‬ ‫سیستم‬ ،. •YARN،API‫کند‬ ‫می‬ ‫عرضه‬ ‫را‬ ‫کالسترها‬ ‫منابع‬ ‫با‬ ‫کارکردن‬ ‫و‬ ‫دادن‬ ‫درخواست‬ ‫ای‬‫ر‬‫ب‬ ‫هایی‬. •‫این‬API‫شوند‬ ‫نمی‬ ‫استفاده‬‫کاربر‬ ‫کدهای‬ ‫توسط‬ ‫معموال‬ ‫ها‬.‫ان‬‫ر‬‫کارب‬ ‫عوض‬ ‫در‬API‫فریم‬ ‫توسط‬ ‫که‬ ‫باالتری‬ ‫سطح‬ ‫های‬ ‫روی‬ ‫خود‬ ‫که‬ ‫توزیعی‬ ‫پردازش‬ ‫های‬ ‫ورک‬YARN‫من‬ ‫مدیریت‬ ‫جزئیات‬ ‫که‬ ‫کنند‬ ‫می‬ ‫استفاده‬ ‫را‬ ‫اند‬ ‫شده‬ ‫سازی‬ ‫پیاده‬‫ابع‬ ‫کنند‬ ‫می‬ ‫مخفی‬‫کاربر‬ ‫از‬ ‫را‬. •‫دارد‬ ‫وجود‬ ‫باال‬ ‫شکل‬ ‫های‬ ‫ورک‬ ‫فریم‬ ‫از‬‫باالتر‬ ‫الیه‬ ‫یک‬:Pig،Hive،Crunch‫که‬ ‫هستند‬ ‫هایی‬ ‫ورک‬ ‫فریم‬ ‫از‬ ‫هایی‬ ‫مثال‬ ‫روی‬MapReduce،Spark،Tez‫و‬...‫با‬ ‫و‬ ‫شوند‬ ‫می‬ ‫سوار‬YARN‫ندارند‬ ‫ارتباطی‬.
  • 3.
    ‫در‬ ‫اپلیکیشن‬ ‫ای‬‫ر‬‫اج‬‫ساختار‬YARN •YARN‫زمینه‬ ‫پس‬ ‫پردازش‬ ‫نوع‬ ‫دو‬ ‫با‬ ‫را‬ ‫خود‬ ‫کزی‬‫مر‬ ‫های‬ ‫سرویس‬ 1 ‫کند‬ ‫می‬ ‫ا‬‫ر‬‫اج‬. •‫منابع‬‫مدیر‬(‫کالستر‬‫هر‬ ‫ای‬‫ر‬‫ب‬ ‫یکی‬:)‫کالستر‬ ‫در‬ ‫منابع‬ ‫از‬ ‫استفاده‬ ‫مدیریت‬ ‫ای‬‫ر‬‫ب‬. •‫مدیر‬node:‫تمام‬ ‫روی‬node‫مدیریت‬ ‫و‬ ‫ا‬‫ر‬‫اج‬ ‫ای‬‫ر‬‫ب‬‫کالستر‬ ‫های‬container‫ها‬.Container‫هایی‬ ‫برنامه‬ ‫ها‬ ‫با‬ ‫که‬ ‫هستند‬virtual‫بند‬ ‫بخش‬ ‫و‬‫منحصر‬ ‫را‬ ‫سیستم‬ ‫منابع‬ ،‫عامل‬ ‫سیستم‬ ‫سطح‬ ‫در‬ ‫سیستم‬ ‫سازی‬‫می‬ ‫ی‬ ‫کنند‬.‫یک‬container،‫حافظه‬ ‫مثل‬ ‫سیستم‬ ‫منابع‬ ‫از‬ ‫مشخصی‬ ‫ان‬‫ز‬‫می‬ ‫با‬ ‫را‬ ‫اپلیکیشن‬CPU‫و‬...‫می‬ ‫ا‬‫ر‬‫اج‬ ‫کند‬. 1 daemon
  • 4.
  • 5.
    ‫در‬ ‫اپلیکیشن‬ ‫ای‬‫ر‬‫اج‬‫ساختار‬YARN 1-‫با‬ ‫کالینت‬ResourceManager‫پردازش‬ ‫ای‬‫ر‬‫اج‬ ‫درخواست‬ ‫و‬ ‫کند‬ ‫می‬ ‫ار‬‫ر‬‫برق‬ ‫ارتباط‬application master‫می‬ ‫را‬ ‫دهد‬. 2-ResourceManager‫یک‬NodeManager‫تواند‬ ‫می‬ ‫که‬ ‫کند‬ ‫می‬ ‫پیدا‬ ‫را‬application master‫یک‬ ‫در‬ ‫را‬ container‫کند‬ ‫ا‬‫ر‬‫اج‬. 3-application master‫به‬ ‫بسته‬ ‫تواند‬ ‫می‬application‫همان‬ ‫در‬container‫یا‬ ‫دهد‬ ‫انجام‬ ‫را‬ ‫خود‬ ‫کار‬ ‫درخواست‬container‫از‬ ‫بیشتری‬ ‫های‬ResourceManager‫بکند‬. 4-application master‫کند‬ ‫می‬ ‫استفاده‬ ‫توزیعی‬ ‫پردازش‬ ‫ای‬‫ر‬‫ب‬ ‫جدید‬ ‫منبع‬ ‫از‬. •YARN‫اپلیکیشن‬ ‫های‬ ‫بخش‬ ‫ای‬‫ر‬‫ب‬ ‫ارتباطی‬ ‫هیچ‬ ‫خود‬ ‫خودی‬ ‫به‬(client،master،process)‫کند‬ ‫نمی‬ ‫اهم‬‫ر‬‫ف‬.
  • 6.
    ‫اپلیکیشن‬ ‫ساخت‬YARN •‫اپلیکیشن‬ ‫ساخت‬YARN‫آ‬‫های‬ ‫اپلیکیشن‬ ‫از‬ ‫استفاده‬ ‫امکان‬ ‫اغلب‬ ‫اما‬ ‫دارد‬ ‫زیادی‬ ‫های‬ ‫پیچیدگی‬ ‫ابتدا‬ ‫از‬‫که‬ ‫ماده‬ ‫دارد‬ ‫وجود‬ ‫باشد‬ ‫ها‬ ‫نیازمندی‬ ‫پاسخگوی‬(‫مثل‬Spark،Tez.) •‫ان‬‫ر‬‫کارب‬‫مثل‬ ‫را‬ ‫ها‬ ‫اپلیکیشن‬ ‫از‬ ‫خود‬ ‫نسخه‬ ‫توانند‬ ‫می‬HBase‫که‬ ‫است‬ ‫معنی‬ ‫این‬ ‫به‬ ‫که‬ ‫کنند‬ ‫ا‬‫ر‬‫اج‬‫کالستر‬ ‫روی‬ ‫کنند‬ ‫ا‬‫ر‬‫اج‬ ‫را‬ ‫اپلیکیشن‬ ‫یک‬ ‫از‬ ‫مختلفی‬ ‫های‬ ‫نسخه‬ ‫توانند‬ ‫می‬ ‫مختلف‬ ‫ان‬‫ر‬‫کارب‬. •Apache Slider:‫روی‬ ‫را‬ ‫موجود‬ ‫شده‬ ‫توزیع‬ ‫اپلیکیشن‬ ‫تواند‬ ‫می‬YARN‫کند‬ ‫ا‬‫ر‬‫اج‬. •Apache Twill:‫مثل‬Slider‫توزی‬ ‫های‬ ‫اپلیکیشن‬ ‫توسعه‬ ‫ای‬‫ر‬‫ب‬ ‫اضافه‬ ‫نویسی‬ ‫برنامه‬ ‫مدل‬ ‫یک‬ ‫ولی‬ ‫است‬‫روی‬ ‫عی‬ YARN‫دهد‬ ‫می‬ ‫ارائه‬. •‫نباشند‬ ‫ما‬ ‫نیازهای‬ ‫پاسخگوی‬ ‫شده‬‫ذکر‬ ‫موارد‬ ‫از‬ ‫کدام‬ ‫هیچ‬ ‫که‬ ‫حالتی‬ ‫در‬distributed shell‫از‬ ‫بخشی‬ ‫خود‬ ‫که‬ ‫پروژه‬YARN‫های‬ ‫اپلیکیشن‬ ‫نوشتن‬ ‫ای‬‫ر‬‫ب‬ ‫ای‬ ‫نمونه‬ ‫عنوان‬ ‫به‬ ‫است‬YARN‫باشد‬ ‫مفید‬ ‫تواند‬ ‫می‬.
  • 7.
    ‫در‬ ‫زمانبندی‬YARN •‫پ‬ ‫امکان‬‫اوقات‬ ‫خیلی‬ ‫زمانبندی‬ ‫سیاست‬ ‫بهترین‬ ‫کردن‬ ‫تعیین‬ ‫و‬ ‫است‬ ‫عمومی‬ ‫مشکل‬ ‫یک‬ ‫زمانبندی‬‫نیست‬‫ذیر‬. •YARN‫گذارد‬ ‫می‬ ‫ما‬ ‫اختیار‬ ‫در‬ ‫را‬ ‫ها‬ ‫آن‬ ‫پیکربندی‬ ‫و‬ ‫ها‬ ‫زمانبندی‬ ‫از‬ ‫انتخابی‬. •‫پیکربندی‬ ‫های‬ ‫گزینه‬: •FIFO:‫شوند‬ ‫می‬ ‫ا‬‫ر‬‫اج‬ ‫ترتیب‬ ‫به‬ ‫و‬ ‫گیرند‬ ‫می‬ ‫ار‬‫ر‬‫ق‬ ‫صف‬ ‫یک‬ ‫در‬ ‫ها‬ ‫اپلیکیشن‬. •Capacity Scheduler:‫به‬ ‫کوچک‬ ‫ظرفیت‬ ‫با‬ ‫مجزا‬ ‫صف‬ ‫یک‬job‫شدن‬ ‫ثبت‬ ‫زمان‬ ‫همان‬ ‫در‬ ‫که‬ ‫دهد‬ ‫می‬ ‫را‬ ‫اجازه‬ ‫این‬ ‫کوچک‬ ‫های‬ ‫شوند‬ ‫ا‬‫ر‬‫اج‬. •Fair Scheduler:‫کاره‬ ‫همه‬ ‫بین‬ ‫باالنسی‬ ‫ا‬‫ر‬‫زی‬ ،‫نیست‬ ‫جداگانه‬ ‫صف‬ ‫ای‬‫ر‬‫ب‬‫کالستر‬ ‫از‬ ‫قسمتی‬ ‫کردن‬ ‫رزرو‬ ‫به‬ ‫احتیاجی‬‫وجود‬ ‫به‬ ‫ا‬ ‫آورد‬ ‫می‬. •‫منصفانه‬ ‫میزان‬ ‫که‬ ‫زمانی‬ ‫تا‬ ‫شود‬ ‫می‬ ‫شروع‬ ‫بعدی‬ ‫کارهای‬ ‫که‬ ‫زمانی‬ ‫بین‬‫تاخیر‬ ‫یک‬(Fair)‫دارد‬ ‫وجود‬ ‫کند‬ ‫می‬ ‫دریافت‬ ‫را‬.
  • 8.
  • 9.
    ‫پیکربندی‬Capacity Scheduler •Queue elasticity:‫از‬‫صفی‬‫اگر‬job‫پردازش‬ ‫حال‬ ‫در‬ ‫دیگری‬ ‫صف‬ ‫و‬ ‫باشد‬ ‫خالی‬job‫منابع‬ ‫از‬ ‫مقداری‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫امکان‬ ‫این‬ ‫باشد‬ ‫شود‬ ‫داده‬ ‫پردازش‬ ‫حال‬ ‫در‬ ‫صف‬ ‫به‬ ‫خالی‬ ‫صف‬. •‫باشد‬‫زیر‬ ‫شکل‬ ‫مانند‬ ‫صف‬ ‫اتب‬‫ر‬‫م‬ ‫سلسله‬ ‫کنید‬ ‫فرض‬: •‫از‬ ‫استفاده‬ ‫با‬yarn.scheduler.capacity.<queue-path>.<sub-property>‫آن‬ ‫در‬ ‫که‬<queue-path>‫مسیر‬ ‫مثل‬ ‫است‬ ‫ریشه‬ ‫از‬ ‫صف‬root.prod‫و‬<sub-property>‫مثل‬ ‫کنیم‬ ‫دستکاری‬ ‫خواهیم‬ ‫می‬ ‫که‬ ‫خصوصیتی‬ ‫هم‬queue‫یا‬ capacity‫کنیم‬ ‫می‬ ‫پیکربندی‬ ‫را‬ ‫صف‬ ،.
  • 10.
    ‫پیکربندی‬Capacity Scheduler •‫با‬ ‫را‬‫صف‬ ‫توان‬ ‫می‬XML‫که‬ ‫کرد‬ ‫پیکربندی‬ ‫روبرو‬: •‫کند‬ ‫می‬ ‫معرفی‬ ‫را‬ ‫اصلی‬ ‫صف‬ ‫اعضای‬ ‫اول‬ ‫ویژگی‬. •‫صف‬ ‫اعضای‬ ‫دوم‬ ‫ویژگی‬dev‫کند‬ ‫می‬ ‫مشخص‬ ‫را‬. •‫صف‬ ‫ظرفیت‬ ‫سوم‬ ‫ویژگی‬prod‫کند‬ ‫می‬ ‫مشخص‬ ‫را‬. •‫صف‬ ‫ظرفیت‬ ‫چهارم‬ ‫ویژگی‬dev‫کند‬ ‫می‬ ‫مشخص‬ ‫را‬. •‫صف‬ ‫که‬ ‫را‬ ‫منابعی‬‫حداکثر‬ ‫پنجم‬ ‫ویژگی‬dev‫کند‬ ‫می‬ ‫مشخص‬ ‫را‬ ‫بگیرد‬ ‫اختیار‬ ‫در‬ ‫تواند‬ ‫می‬ •(queue elasticity.) •‫های‬ ‫صف‬ ‫از‬ ‫کدام‬‫هر‬ ‫ظرفیت‬ ‫هفتم‬ ‫و‬ ‫ششم‬ ‫های‬ ‫ویژگی‬eng‫و‬science‫کنند‬ ‫می‬ ‫مشخص‬ ‫را‬.
  • 11.
    Fair sharing‫ان‬‫ر‬‫کارب‬ ‫های‬‫صف‬ ‫ای‬‫ر‬‫ب‬ •Fair sharing‫کردن‬ ‫قبضه‬ ‫از‬(preemption)‫برد‬ ‫می‬ ‫بهره‬.‫تواند‬ ‫می‬ ‫زمانبند‬ ‫که‬ ‫معنی‬ ‫این‬ ‫به‬container‫که‬ ‫هایی‬ ‫صف‬ ‫های‬ ‫ملغی‬ ‫را‬ ‫دارند‬ ‫دسترس‬ ‫در‬ ‫اکی‬‫ر‬‫اشت‬ ‫منابع‬ ‫شده‬ ‫مشخص‬ ‫حد‬ ‫از‬ ‫بیش‬(kill)‫کند‬.
  • 12.
    ‫منابع‬ • White, Tom.Hadoop: The definitive guide, 4th edition. " O'Reilly Media, Inc.", 2015.