۴.۲ شناخت سیستم فایل توزیع شده هادوپ و دیگر سیستم فایل ها

دوره آموزش هادوپ سید محمدامین ساجدی

ر این ویدئو به توضیح اجمالی درباره سیستم فایل توزیع شده هادوپ و دیگر سیستم ها می پردازیم. این ویدئو قسمتی از ویدئوهای دوره اموزشی Hadoop Fundamentals از لیندا هست که توسط خودم ترجمه و دوبله شده.

 

بد نیست که باهم نگاهی به سیستم فایلی که با توزیع های هادوپ عمل می کنه هم آشنا بشیم. پیش فرض اینه که از HDFS استفاده کنیم که دربارش توی ویدئو های قبلی صحبت کردیم و گفتیم که یکی از ویژگی هاش داشتن بلاک های 64 یا 128 کیلوبایتی داده هست که بهشون chunk گفته میشه. بطور پیش فرض هم 3 نسخه از هرفایل رو نگهداری می کنه. HDFS دو حالت برای پیاده سازی داره. 00:26

کاملا توزیع شده که به شما 3 نسخه کپی رو میده. یا هم حالت شبه توزیع شده که برای تست طراحی شده. از اونجاییکه برای تست طراحی شده، بر روی یک ماشین و یک node پیاده سازی میشه. بعنوان راه جایگزین برای HDFS شما می تونید هادوپ رو با سیستم فایل معمولی که دارید هم بکارگیری کنید.00:47

به این حالت، standalone گفته میشه. و بهترین راه برای زمانیه که تازه دارین برنامه نویسی با MapReduce رو یاد می گیرین. وقتی که از همون سیستم فایل معمولی خودتون استفاده می کنید عملا دارین از پیچیدگی اون کاهش می دید. توی بعضی از دموها این موضوع و نحوه پیاده سازی رو بهتون نشون می دم. وقتی که دارین سیستم حودتون رو که بر روی هادوپ طراحی کردید رو پیاده سازی و منتشر می کنید، بخصوص مواقعی که روی سیستم های ابری انتشار میکنید باید از فایل سیستم همون فضای ابری پیروی کنید. برای مثال 1:16

اگه از امازون استفاده می کنید باید سیستم فایل S3 و اگر هم از Azure استفاده می کنید سیستم فایل BLOB رو بکارگیری کنید. این حالت شبیه حالت standalone هست که از HDFS استفاده نمی کنید و دارید از یک سیستم فایل برپایه فضای ابری استفاده می کنید.

1:30

یک موضوع مهم دیگه که باید بدونید اینه که فایل های شما و ماشین جاوا چطور باهم تعامل برقرار می کنن. اگر هادوپ رو بصورت تک node پیاده سازی کرده باشید می تونید از سیتم فایل موجود روی اون ماشین به همراه یک ماشین JVM برای تمام پردازش های هادوپ بکاربگیرید. 1:48

البته ما همه حالت های پردازشی رو نمیرسیم که پوشش بدیم. اگر هادوپ رو بصورت شبه توزیع شده پیاده سازی کنید، باید از HDFS استفاده کنید و شبح هایی از JVM یا همون daemon ها پردازش ها رو براتون انجام بدن. اگر بصورت کامل توزیع شده پیاده سازی کنید هم باید از HDFS با 3 نسخه کپی استفاده کنید و daemon ها هم در نقاط مختلف براساس اینکه شما از اونها چه عملی بر روی چه داده ای بخواین پردازش ها رو انجام میدن. 2:15

این انتخاب ها خیلی مهم هستن و باید به درستی انجام بشن. اگر بخوام یه تصویر کلی از این موضوع بهتون نشون بدم، این تصویر به شما daemon های مختلف موجود و نحوه توزیع شدن اون ها رو به شما نشون داده. می بینید که توی این نحوه پیاده سازی بصورت کاملا توزیع شده عمل کردیم. 3 نسخه از داده ها بر روی 3 سرور جدا از هم داریم. توی هر سرور daemon ها به رنگ سبز نشون داده شدن که مسئولیت انچام پردازش ها رو به عهده دارن. می بینید که توی هر سرور یک task tracker داریم و یک job tracker هم داریم که روی یک سرور جدای از این ها قرار داره. علاوه بر این ها daemon های دیگه ای هم داریم که توزیع داده ها رو مدیریت می کنن. به نام های name node , data nodes. باز هم میگم که این مدل مدل کاملا توزیع شدست و روی ماشین های با JVM های جدا از هم انجام شده که jvm ها وضعیت خودشون رو اعلام نمی کنن.


دیگر سرفصل های دوره آموزشی هادوپ

1 مقدمه
2 چرا از پایگاه داده های رابطه ای دور شویم؟
3 هادوپ چیست؟
4 درک اجزای اساسی هادوپ
5 راه اندازی محیط توسعه هادوپ
6 درک MapReduce
7 پیکربندی MapReduce
8 درک MapReduce 2.0 YARN
9 درک Hive
10 درک Pig
11 شناخت روند کار و متصل کننده ها
12 دیگر کتابخانه های هادوپ
13 شناخت Spark
14 بصری سازی خروجی هادوپ به همراه ابزارها
15 نتیجه گیری