در ساختار هادوپ سه گروه ماشین، بنامهای 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 بوده، و دستورات خود را مستقیماً از لایه های بالاتر، دریافت میکنند.
در هنگام پیاده سازی وافعی کلاسترینگ از سرور های مجازی به علت ایجاد سربار و اشغال بخشی از حافظه هرگز استفاده نخواهد شد. از طرف دیگر برای دریافت بهترین نتیجه از هادوپ، بهتر است آنرا بر روی سیستم عامل Linux که با سخت افزار کامپیوتر در ارتباطِ بهتری میباشد، اجرا نماید. البته یکی از قابلیتهای هادوپ، اجرای آن بصورت virtual بوده، که مطمئناً برای یادگیری سریعتر میتواند بسیار کارآمد و مفید واقع گردد. خود من به شخصه هادوپ را با استفاده از ۶ کلاستر و بر روی VMware Workstation بصورت مجازی با استفاده از سیستم عامل Windows 7 اجرا کرده ام.
تصویر فوق ساختار اصلی یک کلاستر هادوپ را نشان میدهد. همانطور که در تصویر فوق نشان داده شده است، چندین مجموعه از سرورها در داخل یک رک قرار داده شده، که توسط یک سوئیچ ۱ یا ۲ GE در بالای رک به هم متصل شده اند. استفاده از سوئیچ های ۱۰GE در ساختار هادوپ رایج نبوده، اما اگر میخواهید از حداکثر ظرفیت CPU و یا فضای ذخیره سازی سرورها استفاده نمائید، میتوان با هزینه بیشتر به این هدف خود دسترسی پیدا کنید. هر سوئیچِ رک با استفاده از پورت Uplink خود به یک سوئیچ بالاتر متصل شده که در نهایت این مجموعه متصل بهم همانند تصویر موجب ایجاد یک کلاستر جامع در هادوپ میگردند. اغلب این سرورها در نقشِ یک Slave Node بوده که دارای HDD، DRAM و CPU بالاتری برای محاسبات و ذخیره سازی بیشتر میباشند. برخی دیگر از این سرورها در گروه Master Node بوده که نیازمند حافظه کمتر و تنظیمات متفاوتی نسبت به سایر سرورها، میباشند. همانطور که قبلاً نیز بیان گردید، بر روی این نوع از سرورها محاسبات کمتری صورت پذیرفته، در نتیجه با DRAM و CPU ضعیفتری نیز میتوانند طراحی گردند.
هدف از این مقاله، نحوه اجرای یک برنامه در ساختار و چهارچوب هادوپ میباشد، لذا در مورد پارامترهای مختلف تنظیم سرورهای شبکه توضیح داده نخواهد شد. خب بهتر است برای شروع شما را با اینکه چگونه یک برنامه در کلاستر هادوپ اجرا میشود، آشنا کنیم.
فرایند اجرای عمومی در Hadoop
- بارگذاری داده ها در کلاستر(نوشتن در HDFS)
- پردازش داده ها (فرآیند Map Reduce)
- ذخیره نتیجه پردازش در کلاستر(نوشتن در HDFS)
- خواندن نتیجه بدست آمده از کلاستر(خواندن از HDFS)
سایت اوراکل فارسی راه اندازی شد.برای مشاهده سایت اینجا کلیک نمایید.
جهت دانلود دوره های آموزشی تصویری با موضوع آموزش هادوپ روی موضوعات زیر کلیک نمایید.
-
- آموز ش تصویری پردازش داده توسط هادوپ ( Data Analytics using Hadoop eco system) .
- آموزش راه اندازی و مدیریت کلاستر هادوپ.
- آموزش مباحث طراحی و معماری برنامه های هادوپ( Hadoop).
- آموزش مبانی هادوپ.
- آموزش ساخت کلاسترهای Apache Hadoop.
- آموزش سریع و کاربردی هادوپ منطبق بر آزمون بین المللی CDH-410.
- آموزش ساخت برنامه های توزیع شده بر روی Hadoop بوسیله Scalding.
- آموزش آپاچی هادوپ – Hadoop.
- آموزش تصویری مبانی هادوپ.
- آموزش تصویری ملزومات هادوپ و کلان داده (Big Data and Hadoop Essentials).