SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
‫بر‬ ‫مروری‬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.

Weitere ähnliche Inhalte

Ähnlich wie Yarn مروری بر

توسعه نرم‌افزارهای مقیاس‌پذیر بر اساس معماری ریزسرویسها (Microservices) و اجر...
توسعه نرم‌افزارهای مقیاس‌پذیر بر اساس معماری ریزسرویسها (Microservices) و اجر...توسعه نرم‌افزارهای مقیاس‌پذیر بر اساس معماری ریزسرویسها (Microservices) و اجر...
توسعه نرم‌افزارهای مقیاس‌پذیر بر اساس معماری ریزسرویسها (Microservices) و اجر...Web Standards School
 
Introduction to oracle
Introduction to oracleIntroduction to oracle
Introduction to oracleEhsan Hamzei
 
Oracle نوشته مهندس اسمعیل دخت
Oracle  نوشته مهندس اسمعیل دختOracle  نوشته مهندس اسمعیل دخت
Oracle نوشته مهندس اسمعیل دختYashar Esmaildokht
 
Laravel - back-end framework in persian language
Laravel - back-end framework in persian languageLaravel - back-end framework in persian language
Laravel - back-end framework in persian languageOmid Khosrojerdi
 
Load Balancing-as-a-Service (LBaaS) with octavia in openstack
Load Balancing-as-a-Service (LBaaS) with octavia in openstackLoad Balancing-as-a-Service (LBaaS) with octavia in openstack
Load Balancing-as-a-Service (LBaaS) with octavia in openstackYashar Esmaildokht
 
cloud computing , رایانش ابری
cloud computing , رایانش ابریcloud computing , رایانش ابری
cloud computing , رایانش ابریvhd-abdarbashi
 
Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز
Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیرازIntroduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز
Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیرازMobin Ranjbar
 
1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهران
1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهران1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهران
1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهرانFarafekr Technology
 

Ähnlich wie Yarn مروری بر (20)

توسعه نرم‌افزارهای مقیاس‌پذیر بر اساس معماری ریزسرویسها (Microservices) و اجر...
توسعه نرم‌افزارهای مقیاس‌پذیر بر اساس معماری ریزسرویسها (Microservices) و اجر...توسعه نرم‌افزارهای مقیاس‌پذیر بر اساس معماری ریزسرویسها (Microservices) و اجر...
توسعه نرم‌افزارهای مقیاس‌پذیر بر اساس معماری ریزسرویسها (Microservices) و اجر...
 
Openstack Overview
Openstack Overview Openstack Overview
Openstack Overview
 
Introduction to oracle
Introduction to oracleIntroduction to oracle
Introduction to oracle
 
Oracle ADF Presentation
Oracle ADF PresentationOracle ADF Presentation
Oracle ADF Presentation
 
IranOUG_Oracle_Multitenant
IranOUG_Oracle_MultitenantIranOUG_Oracle_Multitenant
IranOUG_Oracle_Multitenant
 
Oracle نوشته مهندس اسمعیل دخت
Oracle  نوشته مهندس اسمعیل دختOracle  نوشته مهندس اسمعیل دخت
Oracle نوشته مهندس اسمعیل دخت
 
Liara
LiaraLiara
Liara
 
lunch box plugin
 lunch box plugin  lunch box plugin
lunch box plugin
 
cloud services for libraries
cloud services for librariescloud services for libraries
cloud services for libraries
 
rbdmap in ceph
rbdmap in ceph rbdmap in ceph
rbdmap in ceph
 
Laravel - back-end framework in persian language
Laravel - back-end framework in persian languageLaravel - back-end framework in persian language
Laravel - back-end framework in persian language
 
OpenStack and its service
OpenStack and its serviceOpenStack and its service
OpenStack and its service
 
Load Balancing-as-a-Service (LBaaS) with octavia in openstack
Load Balancing-as-a-Service (LBaaS) with octavia in openstackLoad Balancing-as-a-Service (LBaaS) with octavia in openstack
Load Balancing-as-a-Service (LBaaS) with octavia in openstack
 
Rbdmap ceph realease 0.2
Rbdmap ceph realease 0.2Rbdmap ceph realease 0.2
Rbdmap ceph realease 0.2
 
how enable ceph dashboard
how enable  ceph dashboardhow enable  ceph dashboard
how enable ceph dashboard
 
cloud computing , رایانش ابری
cloud computing , رایانش ابریcloud computing , رایانش ابری
cloud computing , رایانش ابری
 
Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز
Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیرازIntroduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز
Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز
 
1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهران
1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهران1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهران
1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهران
 
94.10.18
94.10.1894.10.18
94.10.18
 
Openstack Rally
Openstack RallyOpenstack Rally
Openstack Rally
 

Yarn مروری بر

  • 2. ‫مقدمه‬ •YARN(Yet Another Resource Negotiator)‫است‬ ‫هدوپ‬ ‫در‬‫کالستر‬ ‫مدیریت‬ ‫سیستم‬ ،. •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
  • 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)‫دارد‬ ‫وجود‬ ‫کند‬ ‫می‬ ‫دریافت‬ ‫را‬.
  • 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.