معرفی
این مقاله ادامه Hadoop – Distributed Computing Environment است. ما دانشی را در مورد اینکه چرا ما به Hadoop و اکوسیستم Hadoop نیاز داریم در اینجا توسعه خواهیم داد.
ارتباط دادن
برای دریافت جزئیات در مورد محیط های محاسباتی توزیع شده
اینجا را کلیک کنید .
کار با سیستم های توزیع شده به نرم افزاری نیاز دارد که بتواند پردازنده ها و ماشین های موجود در محیط توزیع شده را هماهنگ و مدیریت کند. با افزایش مقیاس شرکت های غول پیکر مانند گوگل، آنها شروع به ساخت نرم افزار جدیدی کردند که می تواند بر روی تمام سیستم های توزیع شده اجرا شود.
هدف نرم افزاری که برای سیستم های توزیع شده توسعه یافته است، مطابق شکل زیر خواهد بود.
- میلیونها رکورد (دادههای خام) را روی چندین ماشین ذخیره کنید، بنابراین سوابق مربوط به چه رکوردی در کدام گره در مرکز داده وجود دارد، نگهداری کنید.
- چگونه فرآیندها را روی همه این ماشین ها اجرا کنیم تا داده ها را ساده کنیم؟
بنابراین گوگل روی این دو مفهوم کار کرد و نرم افزار را برای این منظور طراحی کرد.
- از سیستم فایل Google برای ذخیره داده ها به صورت توزیع شده و حل فضای ذخیره سازی توزیع شده استفاده شد.
- Map Reduce برای حل محاسبات توزیع شده در حال اجرا در چندین ماشین و آوردن دادههای در حال اجرا در چندین ماشین برای پرش به چیزی مفید استفاده شد.
هر دوی این ها با هم ترکیب می شوند تا در Hadoop کار کنند.
![](http://pezhvak24.ir/dl/10kcor/cscd/article/why-do-we-need-distributed-computing-system-and-hadoop-ecosystem/Images/image001.jpg)
Google File System به عنوان سیستم فایل توزیع شده Hadoop کار می کند و Map Reduce الگوریتم Map-Reduce است که ما در Hadoop داریم. از این رو، HDFS و MapReduce برای ما به Hadoop می پیوندند.
HDFS یک سیستم فایل است که برای مدیریت ذخیره سازی داده ها در سراسر ماشین ها در یک کلاستر استفاده می شود. شاید MapReduce چارچوبی برای پردازش داده ها در چندین سرور باشد. Hadoop توسط بنیاد نرم افزار Apache توزیع می شود در حالی که یک منبع باز است.
در سال 2013، MapReduce به Hadoop به دو منطق تقسیم شد، همانطور که در زیر نشان داده شده است.
- MapReduce
- نخ
اکنون چارچوب MapReduce فقط وظیفه پردازش داده را تعریف می کند. بر روی چه منطقی متمرکز شد که داده های خام باید روی چه منطقی متمرکز شوند.
YARN دوباره یک چارچوب است که وظیفه پردازش داده ها را در چندین ماشین، مدیریت حافظه، مدیریت پردازش و غیره اجرا می کند.
تخصیص کار هادوپ
MapReduce | در اینجا، کاربر با استفاده از MapReduce API نقشه را تعریف می کند و وظایف را کاهش می دهد. می تواند به ما در کار با جاوا و سایر زبان های تعریف شده کمک کند. نقشه تعریف می کند که برنامه شناسه در کارهایی که توسط خوشه در Hadoop انجام می شود بسته بندی می شود. |
نخ | یک کار با استفاده از YARN در خوشه راه اندازی می شود. بررسی می کند که آیا گره منابع لازم برای اجرای این کار را دارد یا خیر. |
HDFS | YARN باید نحوه و مکان اجرای این کار را به اضافه محل ذخیره نتایج/داده ها در HDFS ترسیم کند. |