مفاهیم هادوپ(Hadoop)

مفاهیم هادوپ(Hadoop)

در ساختار هادوپ سه گروه ماشین، بنامهای Client، Master Node، و Slave Node تعریف شده است. وظیفه ماشین های گروه Master Node نظارت بر دو بخشِ اصلی سیستم هادوپ یعنی ذخیره حجم انبوهی از داده های(HDFS) و دوم اجرای محاسبات موازی بر روی آنها (Map Reduce) میباشد. هر Master Node از دو بخش بنامهای Name Node و Job Tracker تشکیل شده است. Name Node، وظیفه نظارت و هماهنگی بر نحوه ذخیره کردن داده ها (HDFS) ، و Job Tracker نیز وظیفه تعیین نحوه اجرای پردازش موازی بر روی یک مجموعه داده با استفاده از دستورات MapReduce را بر عهده دارد. سیستمهایی که درنقش Slave Node در شبکه هادوپ تعریف میشوند، اکثریت کامپیوترهای شبکه هادوپ را تشکیل داده، وظیفه اجرای اصلی دستورات ذخیره سازی و پردازشهای موازی بر عهده آنها گذاشته شده است. هر سیستمی که در نقش Slave Node طراحی گردد، از دو بخش بنامهای Data Node و Task Tracker تشکیل خواهد شد که اطلاعات و دستورها را از سیستمهای گروه Master Node دریافت کرده و پردازشهای لازم را بر روی آنها انجام میدهد. در واقع Task Tracker یک زیر مجموعه از Job Tracker و Data Node نیز یک زیر مجموعه از Name Node بوده، و دستورات خود را مستقیماً از لایه های بالاتر، دریافت میکنند.

سیستمهای گروه Client نیز که نرم افزار هادوپ بر روی آنها نصب بوده و با تنظیمات مخصوص کلاسترها ایجاد و طراحی شده اند، سیستم هایی مجزا از دو سیستم Master Node و Slave Node بوده،که وظیفه اصلی آنها، بارگذاری و تقسیم داده ها در یک کلاستر و اجرای دستور Map Reduce، و سپس ارسال نتیجه حاصل از پردازش میباشد. در یک مجموعه کوچک از کلاسترها(حدوداً شامل ۴۰ نود) میتوانید از یک سرور فیزیکی برای هر دو بخش Name Node و Job Tracker استفاده نمایید. اما در یک مجموعه کلاسترینگ بزرگتر بهتر است هر گروه از ماشین ها بر روی یک سرور قرار داده شوند.
در هنگام پیاده سازی وافعی کلاسترینگ از سرور های مجازی  به علت ایجاد سربار و اشغال بخشی از حافظه هرگز استفاده نخواهد شد. از طرف دیگر برای دریافت بهترین نتیجه از هادوپ، بهتر است آنرا بر روی سیستم عامل Linux که با سخت افزار کامپیوتر در ارتباطِ بهتری میباشد، اجرا نماید. البته یکی از قابلیتهای هادوپ، اجرای آن بصورت virtual بوده، که مطمئناً برای یادگیری سریعتر میتواند بسیار کارآمد و مفید واقع گردد. خود من به شخصه هادوپ را با استفاده از ۶ کلاستر و بر روی VMware Workstation بصورت مجازی با استفاده از سیستم عامل Windows 7 اجرا کرده ام.
ساختار کلاستر Hadoop

تصویر فوق ساختار اصلی یک کلاستر هادوپ را نشان میدهد. همانطور که در تصویر فوق نشان داده شده است، چندین مجموعه از سرورها در داخل یک رک قرار داده شده، که توسط یک سوئیچ ۱ یا ۲ GE در بالای رک به هم متصل شده اند. استفاده از سوئیچ های ۱۰GE در ساختار هادوپ رایج نبوده، اما اگر میخواهید از حداکثر ظرفیت CPU و یا فضای ذخیره سازی سرورها استفاده نمائید، میتوان با هزینه بیشتر به این هدف خود دسترسی پیدا کنید. هر سوئیچِ رک با استفاده از پورت Uplink خود به یک سوئیچ بالاتر متصل شده که در نهایت این مجموعه متصل بهم همانند تصویر موجب ایجاد یک کلاستر جامع در هادوپ میگردند. اغلب این سرورها در نقشِ یک Slave Node بوده که دارای HDD، DRAM و CPU بالاتری برای محاسبات و ذخیره سازی بیشتر میباشند. برخی دیگر از این سرورها در گروه Master Node بوده که نیازمند حافظه کمتر و تنظیمات متفاوتی نسبت به سایر سرورها، میباشند. همانطور که قبلاً نیز بیان گردید، بر روی این نوع از سرورها محاسبات کمتری صورت پذیرفته، در نتیجه با DRAM و CPU ضعیفتری نیز میتوانند طراحی گردند.

هدف از این مقاله، نحوه اجرای یک برنامه در ساختار و چهارچوب هادوپ میباشد، لذا در مورد پارامترهای مختلف تنظیم سرورهای شبکه توضیح داده نخواهد شد. خب بهتر است برای شروع شما را با اینکه چگونه یک برنامه در کلاستر هادوپ اجرا میشود، آشنا کنیم.

فرایند اجرای عمومی در Hadoop

  • بارگذاری داده ها در کلاستر(نوشتن در HDFS)
  • پردازش داده ها (فرآیند Map Reduce)
  • ذخیره نتیجه پردازش در کلاستر(نوشتن در HDFS)
  • خواندن نتیجه بدست آمده از کلاستر(خواندن از HDFS)

سایت اوراکل فارسی راه اندازی شد.برای مشاهده سایت اینجا کلیک نمایید.

جهت دانلود دوره های آموزشی تصویری با موضوع آموزش هادوپ روی موضوعات زیر کلیک نمایید.

محسن صفابخش

محسن صفابخش

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

More Posts - Website

Follow Me:
LinkedInGoogle PlusYouTube

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *