Hadoop

از OCCC Wiki
پرش به ناوبری پرش به جستجو

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

ویژگی ها

سکوی هادوپ دارای ویژگی های زیر می باشد:

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

معماری هادوپ

معماری هادوپ یک معماری Master/Slave می باشد. در این معماری، بر روی ماشینی که به عنوان ماشین Master انتخاب می شود، سرویس هایی برای مدیریت و پیکربندی کل سیستم و مدیریت برنامه ها اجرا می شوند. همچنین در ماشین Master ابزارهایی برای مدیریت داده ها و تحویل برنامه به سیستم وجود دارد که کاربرانِ سیستم برای کار با هادوپ می توانند از آنها استفاده کنند. در ماشین Slave نیز سرویس هایی برای اجرای وظایفی که از سمت ماشین Master به آن ارسال می شود، به اجرا در می آیند.

سکوی هادوپ از دو قسمت اصلی تشکیل شده است که این قسمت ها شامل 1) سیستم فایل توزیع شده هادوپ (HDFS ) و 2) چهارچوب برنامه نویسی MapReduce می باشند. HDFS وظیفه ذخیره سازی و مدیریت داده ها در سیستم فایل را بر عهده داشته و داده های ورودی را به بلوک های مساوی تقسیم می کند و به ماشین های Slave تحویل می دهد. این سیستم فایل از طریق تکرار داده ها به مقابله با خطا می پردازد. چهارچوب MapReduce نیز یک مدل برنامه نویسی با هدف پردازش و تولید مجموعه ی عظیمی از داده ها فراهم می کند.

روش های استقرار

سیستم فایل توزیع شده هادوپ (HDFS) و چهارچوب برنامه نویسی MapReduce که اجزای اصلی هادوپ را تشکیل می دهند مبین این هستند که هادوپ سیستمی است برای موازی سازی کارها وکارایی حقیقی آن در محیطی توزیع شده مشخص می گردد. با این حال در کارهای تست و توسعه همیشه فراهم آوردن چنین زیرساختی آسان نیست از این رو است که هادوپ به چند شکل قابل استقرار است. سه حالت نصب و راه اندازی مختلف برای هادوپ در نظر گرفته شده است، در حالت تک نوده یا عملکرد مستقل، شما می توانید روی یک نود (مثلا یک لپتاپ) هادوپ را نصب کنید. در حالت شبه توزیع شده نیز این امر میسر است با این تفاوت که هر یک از پردازه های هادوپ روی یک پردازه جاوای مستقل اجرا خواهند شد. حالت سوم هم وضعیت تمام توزیع شده آن می باشد که نصب در این حالت بر روی کلاستر خواهد بود.

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

کاربران و ارائه دهندگان سرویس هادوپ

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

نصب و راه‌اندازی


منابع مرتبط

فیلم آموزشی در رابطه با آپاچی هادوپ که محصول شرکت CBT Nuggets می باشد. برای دانلود روی لینک زیر کلیک نمایید.

فیلم آموزشی هادوپ