هدوپ یک نرم افزار کد باز (Open source) است که برای تقسیم بندی و توزیع فایل های متمرکز به کار می رود. هدوپ تحت لیسانس آپاچی (Apache) ارائه می شود و توسط جاوا برنامه نویسی شده است. امّا هدوپ چگونه به وجود آمد؟ شرکت گوگل در پی افزایش حجم تبادل اطلاعات، به دنبال راه حلّی برای افزایش سرعت و راندمان سرورهای خود بود که سیستم توزیع (Distribution) منحصر به فردی برای خود ابداع کرد به نام GFS که مخفف Google File System بود. در پی این موفقیت، انجمن توزیع Apache به فکر گسترش این تکنولوژی در سطح وسیع تری افتاد و سیستم هدوپ به وجود آمد.
هدوپ از دو بخش کلّی به نام Map Reduce و HDFS تشکیل شده است. این سیستم در واقع جهت اجرا بر روی چندین سرور طراحی شده است. برای درک بهتر این موضوع به تصویر زیر دقّت کنید.
سیستم بدین صورت عمل میکند که اطلاعات دریافت شده به صورت تکه تکه (بطور پیشفرض بلاک های ۶۴ مگابایتی) در آمده و هر تکه در یک سرور جداگانه ذخیره می شود. در تصویر بالا سرور Namenode در واقع همان سرور اصلی (Master) می باشد که وظیفه ی کنترل سرور های دیگر (Slave) را به عهده دارد. بخش Map Reduce نیز بر روی سرور اصلی اجرا می شود و بخش HDFS یا همان Hadoop Distributed File System بر روی سرورهای جانبی اجرا می شود. سرورهای جانبی وظیفه ی ذخیره سازی اطلاعات را بر روی هارد دیسک های خود به عهده دارند. یعنی زمانی که کاربر درخواست فراخوانی یک فایل را صادر می کند، سرور اصلی از طریق آدرس هایی که در اختیار دارد، بلاک های مورد نظر را از سرور های مختلف فراخوانی کرده و پس از سر هم کردن و تکمیل کردن فایل، آن را به کاربر تحویل می دهد.
امّا نکته ی جالب ماجرا مربوط به Data Replication می شود. الگوریتم این برنامه طوری نوشته شده است که چندین نسخه کپی از بلاک ها بر روی دیگر سرور ها قرار می گیرد و این امر دو مزیت بزرگ دارد: اول این که شما در مقابل خطاهای سخت افزاری از قبیل سوختن هارد دیسک، اشکالات سخت افزاری سرورها و … در امان هستید و در صورتی که هر یک از سرور ها به دلایلی از شبکه خارج شوند، اطلاعات مورد نظر از روی سرور های دیگر فراخوانی می شوند. مزیت دوم این قابلیت این است که شما دیگر نیازی به استفاده از تکنولوژی RAID ندارید و می توانید از حداکثر فضای هارد دیسک های خود استفاده کنید!!
برای روشن شدن این موضوع تصویر زیر را مشاهده فرمایید:
سیستم هدوپ در واقع برای ذخیره سازی و فراخوانی اطلاعات حجیم (در حد گیگابایت، ترابایت و یا حتی پتابایت) مورد استفاده قرار می گیرد. این اطلاعات می تواند شامل فایل و یا پردازش باشد. برای مثال چندی قبل شرکت یاهو که بزرگترین سیستم هدوپ را در اختیار دارد، موفق شد رقم ۲،۰۰۰،۰۰۰،۰۰۰،۰۰۰،۰۰۰ام عدد پی و چند رقم بعد و قبل آن را محاسبه کند !! جالب است بدانید که این عملیات که بر روی ۱۰۰۰ سرور صورت گرفته به مدت ۲۳ روز به طول انجامید، در حالی که اگر این عملیات را بر روی یک سیستم اجرا کنیم، حدود ۵۰۳ سال به طول خواهد انجامید !!
اکثر کمپانی های بزرگ دنیا از قبیل AOL،Facebook،Yahoo،IBM و ….. از این تکنولوژی استفاده می کنند. برای مثال شرکت یاهو با بیش از ۱۰۰،۰۰۰ هسته ی CPU در بیش از ۴۰،۰۰۰ سرور بزرگترین مجری سیستم هدوپ در دنیا محسوب می شود. بزرگترین کلاستر (Cluster) این شرکت شامل ۴۵۰۰ سرور می باشد که هر کدام دارای ۲ پردازشگر ۴ هسته ای، ۴ هارد دیسک ۱ ترابایتی و ۱۶ گیگابایت حافظه ی رم می باشند! برای مشاهده ی لیست کامل این شرکت ها به این لینک مراجعه فرمایید.
امیدوارم این مقاله هم مورد استفاده ی شما کاربران عزیز قرار گرفته باشد. برای اطلاعات بیشتر از لینک اصلی آپاچی می توانید استفاده کنید.