قبل از پیدایش HDFS و MapReduce

در این مقاله ما قصد داریم علل سوئیچ شرکتهای بزرگ مانند Google ، yahoo ، Facebook  به سمت Hadoop Distributed File System و MapReduce را بیان کنیم.

بهتر است قبل از هرچیز نگاهی اجمالی به قبل از مدل MR و HDFS  بیندازیم ، این به ما کمک می کند که نگاهی دقیقتر نسبت به این موضوع داشته باشیم که چرا ما نیازمندیم به سوی چیزی بهتر از قبل حرکت کنیم.

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

MPI(Message Passing Interface) یک فریم ورک توزیع شده است که قبلا بسیار مورد استفاده بود. اما MPI چگونه کار می کند؟ MPI به زبان ساده از 2 عملکرد تقسیم می شود:

1
2
3
MPI_SEND
 
MPI_RECIVE

برای مثال ماشینM اطلاعاتی را به ماشین K  می فرستد و ماشین K پیام دریافت اطلاعات را به ماشین M می فرستد، تکرار این عملیات در مقیاس بسیار وسیع باعث ایجاد Deadlock یا بن بست می شود.

اجازه دهید با یک مثال مسئله را شفافتر کنیم :

پردازشگر 2 اطلاعات A را به پردازشگر 1 ارسال می کند زمانی که پردازشگر 1 تمام اطلاعات را دریافت کرد، پردازشگر 1 شروع به ارسال اطلاعات B به پردازشگر 2 می کند و بسیار آسان همین عملیات ممکن است به بن بست ختم شود، زمانیکه پردازشگر 1 منتظر اطلاعات B است که در اختیار پردازشگر 2 می باشد و در همین حین پردازشگر 2 نیز منتظر اطلاعات Aاست که در اختیار پردازشگر 1 است . به زبان ساده تر پردازشگرها منتظر منابعی هستند که در اختیار پردازشگر دیگر می باشند و این باعث بن بست می شود.

راه حلهای متفاوتی برای حل این مسئله وجود دارد مانند MPI_SendRec ولی در کل این وظیفه برنامه نویسان است که راهی برای آزاد کردن منابع درخواستی ارائه دهند زیرا در محیط واقعی هزاران ماشین هستند که در هر دقیقه به دهها بن بست بر می خورند و مدیریت اینچنین سیستمی بسیار وقتگیر و طاقت فرسا می باشد.

ادامه مطالب

آموزش MapReduce به زبان ساده – بخش اول :

در این نوشته ما قصد داریم عملکرد MapReduce  را با استفاده از مثال Word Count به زبان بسیار ساده بیان کنیم .در ابتدا فرض کنید ما 5 میلیون صفحه تایپ شده داریم که نیاز است هیستوگرام تعداد کلمات آن را محاسبه کنیم. در شکل زیر به نمونه ای از عملیات اشاره شده است :

1

در شکل زیر مراحل شمارش 5 میلیون کلمه نمایش داده شده است

2

 

تا این مرحله ما عملا تعداد کلمات را شمارش کردیم که اصطلاحا آن را Map کردن می نامیم. 

بعد از انجام این مراحل تعداد کلمات بصورت جداگانه محاسبه شده اند و هیستوگرام جداگانه این فایلها کمکی به حل مسئله نکرده است. پس ما باید به دنبال روشی باشیم که کلمات یکسان را در کامپیوترهای مختلف جمع آوری کرده و آنها را به عنوان یک هیستوگرام واحد نمایش دهد. در شکل زیر روش حل این مسئله که با نام Reduce کردن معروف است نمایش داده شده است.

ادامه مطالب

نصب هدوپ

نوع نصب: Single Node Cluster (نصب به صورت Multi-Node)

برای نصب هدوپ راه های گوناگونی وجود دارد. با توجه به سطح آشنایی شما با فریم ورک هدوپ می تواند این فرآیند آسان و یا سخت باشد ولی نگران نباشید ما تمامی مراحل را شرح می دهیم.

بسته عمومی هدوپ یا Hadoop Common

بسته عمومی هدوپ که از سایت رسمی به صورت بسته رسمی هدوپ قابل دریافت است و همینطور در صفحه اصلی این سایت به صورت مستقیم قرار گرفته است شامل پروژه ها و سرویس های HDFS یا سیستم فایل توزیع شده هدوپ،YARN یا زمان بند وظایف و مدیر کلاستر،MapReduce یا سیستم پردازش موازی داده های عظیم و همچنین فایل اجرایی hadoop می باشد که برای پیکربندی کلی هدوپ می باشد. به دلیل اینکه هدوپ به زبان جاوا نوشته شده است نسخه های مختلف برای سیستم عامل های مختلف وجود ندارد و یک بسته می تواند با استفاده از JRE بر روی تمامی سیستم عامل ها اجرا شود.

مراحل نصب عادی بسته عمومی

قبل از هر چیز مطمئن شوید که JRE یا Java Runtime Environment را بر روی سیستم خود نصب کرده اید. می توانید با اجرای دستور java –version در محیط خط فرمان از نصب بودن این برنامه مطمئن شوید.
بسته عمومی هدوپ را از سایت رسمی یا از طریق همین وب سایت دانلود و فایل ها را استخراج نمایید. (توجه: اگر در سیستم عامل لینوکس هستید مطمئن شوید فایل ها را در مکانی استخراج کرده اید که دسترسی مدیر را دارا می باشد و همینطور قابلیت اجرا را به فایل هاعمال کرده اید. به همین جهت پیشنهاد می شود بسته را در پوشه Home خود استخراج کنید.)
پس از استخراج به پوشه موردنظر رفته و وارد پوشه bin شوید. در اینجا فایل ها و پروژه هایی که در بالا توضیح داده شد را مشاهده می کنید.
در اینجا با مراجعه به خط فرمان سیستم عامل خود و تغییر پوشه جاری به پوشه ای که استخراج کردید و همینطور پوشه bin ، می تواند با اجرای هر دستور مثل hadoop ، hadoop fs شروع به کار با هدوپ کنید.
نصب آسان

برای نصب آسان هدوپ نیاز به دانلود بسته عمومی و دارا بودن JRE ندارید ولی پیش نیازهای زیر را می بایست دارا باشید:

ادامه مطالب