12
ی بر ور مرYARN ی رضای ناصر[email protected]

Yarn مروری بر

Embed Size (px)

Citation preview

Page 1: Yarn مروری بر

YARNمروری بر ناصر رضایی

[email protected]

Page 2: Yarn مروری بر

مقدمه

•YARN(Yet Another Resource Negotiator)سیستم مدیریت کالستر در هدوپ است ،.

•YARN ،APIهایی برای درخواست دادن و کارکردن با منابع کالسترها را عرضه می کند.

های سطح باالتری که توسط فریم APIدر عوض کاربران . ها معموال توسط کدهای کاربر استفاده نمی شوندAPIاین •ابع پیاده سازی شده اند را استفاده می کنند که جزئیات مدیریت منYARNورک های پردازش توزیعی که خود روی

.را از کاربر مخفی می کنند

مثال هایی از فریم ورک هایی هستند که Pig ،Hive ،Crunch: یک الیه باالتر از فریم ورک های شکل باال وجود دارد•.ارتباطی ندارندYARNسوار می شوند و با ... و MapReduce ،Spark ،Tezروی

Page 3: Yarn مروری بر

YARNساختار اجرای اپلیکیشن در

•YARNسرویس های مرکزی خود را با دو نوع پردازش پس زمینه1

.اجرا می کند.برای مدیریت استفاده از منابع در کالستر(: یکی برای هر کالستر)مدیر منابع •

ها برنامه هایی Container. هاcontainerهای کالستر برای اجرا و مدیریت nodeروی تمام : nodeمدیر •ی می سازی سیستم در سطح سیستم عامل، منابع سیستم را منحصر و بخش بند virtualهستند که با

اجرا می ... و CPUاپلیکیشن را با میزان مشخصی از منابع سیستم مثل حافظه، containerیک . کنند.کند

1daemon

Page 4: Yarn مروری بر

YARNساختار اجرای اپلیکیشن در

Page 5: Yarn مروری بر

YARNساختار اجرای اپلیکیشن در

را می application masterارتباط برقرار می کند و درخواست اجرای پردازش ResourceManagerکالینت با -1.دهد

2-ResourceManager یکNodeManager را پیدا می کند که می تواندapplication master را در یکcontainerاجرا کند.

3-application master می تواند بسته بهapplication در همانcontainer کار خود را انجام دهد یا.بکندResourceManagerهای بیشتری از containerدرخواست

4-application masterاز منبع جدید برای پردازش توزیعی استفاده می کند.

•YARN به خودی خود هیچ ارتباطی برای بخش های اپلیکیشن(client ،master ،process )فراهم نمی کند.

Page 6: Yarn مروری بر

YARNساخت اپلیکیشن

ماده که از ابتدا پیچیدگی های زیادی دارد اما اغلب امکان استفاده از اپلیکیشن های آYARNساخت اپلیکیشن •(.Spark ،Tezمثل )پاسخگوی نیازمندی ها باشد وجود دارد

روی کالستر اجرا کنند که به این معنی است که HBaseمی توانند نسخه خود از اپلیکیشن ها را مثل کاربران •.کاربران مختلف می توانند نسخه های مختلفی از یک اپلیکیشن را اجرا کنند

•Apache Slider : می تواند اپلیکیشن توزیع شده موجود را رویYARNاجرا کند.

•Apache Twill : مثلSliderعی روی است ولی یک مدل برنامه نویسی اضافه برای توسعه اپلیکیشن های توزیYARNارائه می دهد.

که خود بخشی از distributed shellدر حالتی که هیچ کدام از موارد ذکر شده پاسخگوی نیازهای ما نباشند •.می تواند مفید باشدYARNاست به عنوان نمونه ای برای نوشتن اپلیکیشن های YARNپروژه

Page 7: Yarn مروری بر

YARNزمانبندی در

.ذیر نیستزمانبندی یک مشکل عمومی است و تعیین کردن بهترین سیاست زمانبندی خیلی اوقات امکان پ•

•YARNانتخابی از زمانبندی ها و پیکربندی آن ها را در اختیار ما می گذارد.

:گزینه های پیکربندی••FIFO :اپلیکیشن ها در یک صف قرار می گیرند و به ترتیب اجرا می شوند.

•Capacity Scheduler : یک صف مجزا با ظرفیت کوچک بهjob های کوچک این اجازه را می دهد که در همان زمان ثبت شدن.اجرا شوند

•Fair Scheduler :ا به وجود احتیاجی به رزرو کردن قسمتی از کالستر برای صف جداگانه نیست، زیرا باالنسی بین همه کاره.می آورد

.را دریافت می کند وجود دارد( Fair)یک تاخیر بین زمانی که کارهای بعدی شروع می شود تا زمانی که میزان منصفانه •

Page 8: Yarn مروری بر

YARNزمانبندی در

Page 9: Yarn مروری بر

Capacity Schedulerپیکربندی

•Queue elasticity : اگر صفی ازjob خالی باشد و صف دیگری در حال پردازشjob باشد این امکان وجود دارد که مقداری از منابع.صف خالی به صف در حال پردازش داده شود

:فرض کنید سلسله مراتب صف مانند شکل زیر باشد•

مسیر <queue-path>که در آن<yarn.scheduler.capacity.<queue-path>.<sub-propertyبا استفاده از •

یا queueهم خصوصیتی که می خواهیم دستکاری کنیم مثل <sub-property>وroot.prodصف از ریشه است مثل

capacityصف را پیکربندی می کنیم ،.

Page 10: Yarn مروری بر

Capacity Schedulerپیکربندی

:روبرو پیکربندی کرد کهXMLمی توان صف را با •

.ویژگی اول اعضای صف اصلی را معرفی می کند•

.را مشخص می کندdevویژگی دوم اعضای صف •

.را مشخص می کندprodویژگی سوم ظرفیت صف •

.را مشخص می کندdevویژگی چهارم ظرفیت صف •

می تواند در اختیار بگیرد را مشخص می کند devویژگی پنجم حداکثر منابعی را که صف •

•(queue elasticity.)

.را مشخص می کنندscienceو engویژگی های ششم و هفتم ظرفیت هرکدام از صف های •

Page 11: Yarn مروری بر

Fair sharing برای صف های کاربران

•Fair sharing از قبضه کردن(preemption )به این معنی که زمانبند می تواند . بهره می بردcontainer های صف هایی که.کند( kill)بیش از حد مشخص شده منابع اشتراکی در دسترس دارند را ملغی

Page 12: Yarn مروری بر

منابع

• White, Tom. Hadoop: The definitive guide, 4th edition. " O'Reilly Media, Inc.", 2015.