<

عصر هدوپ

آشنایی با Big Data و کار با Hadoop

عصر هدوپ

آشنایی با Big Data و کار با Hadoop

عصر هدوپ
بایگانی

هرچند در مطلب قبلی به منظور جلوگیری از Data Loss از راهکار ترکیب دو مکانیزم تکثیر فراداده (Metadata) مربوط به namenode روی چندین فایل سیستم و secondary namenode استفاده شد، اما مبحث "در دسترس بودن" (High-Availability) فایل سیستم بصورت کامل پوشش داده نشده است. namenode همچنان یک نقطه پر ریسک محسوب می شود، درصورتیکه این نود به هردلیلی از مدار خارج شود، تمامی client ها از جمله Job های MapReduce دیگر قادر به ادامه تعامل و پردازش نخواهند بود، زیرا namenode به عنوان اصلی ترین منبع فراداده و نگاشت بین بلاک و فایل می باشد. در این مواقع هدوپ دیگر قادر به ارائه سرویس نخواهد بود تا زمانیکه namenode جدید وارد کار شود.

هنگامی که قرار است از namenode جایگزین استفاده گردد، مدیر سیستم یک namenode اصلی جدیدی را از روی یکی از نسخه های backup فعال نموده و اقدام به تنظیم datanode ها و client  ها به منظور استفاده از آن می نماید. همچنین namenode جدید تا زمانیکه مراحل زیر روی آن صورت نپذیرد قادر به پاسخگویی نخواهد بود:

  • بارگذاری namespace image در حافظه

  • اجرای مجدد edit log

  • دریافت گزارشات وضعیت بلاک از datanode ها به اندازه کافی

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

در سری نسخه 0.23 هدوپ امکان "در دسترس بودن" برای HDFS فراهم شده است. در این پیاده سازی یک زوج فعال و جانشین از namenode به منظور استفاده وجود دارد. در شرایط بحرانی که namenode فعال کنار گذاشته می شود، namenode جانشین وارد عمل شده و کنترل را در دست گرفته و بدون اینکه وقفه ای پیش آید شروع به ادامه سرویس دهی به client ها می نماید. این ویژگی برای عملیاتی شدن نیاز به مقداری تغییر زیرساختی دارد:

  • به منظور استفاده از edit log مشترک، namenode ها می بایست از یک منبع مشترک با کیفیت بالا، مطمئن و با درصد ریسک پایین استفاده نمایند. هنگامی که namenode جانشین وارد میدان می شود، ابتدا تا انتهای edit log مشترک را به جهت یکسان سازی با namenode فعال می خواند، سپس همانند نود اصلی کار خود را آغاز می نماید.

  • datanode ها موظف هستند گزارشات بلاک را به هر دو namenode فعال و جانشین ارسال نمایند، زیرا اطلاعات نگاشت بلاک در زمان راه اندازی سیستم از datanode ها دریافت شده و در حافظه namenode نگهداری می شود.

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

اگر namenode فعال و اصلی کنار گذاشته شود، در این حالت namenode جانشین از آنجایی که وضعیتی مشابه با وضعیت namenode اصلی دارد (edit log مشترک، اطلاعات نگاشت بلاک) به سرعت وارد عمل شده و کنترل را در دست می گیرد(کمتر از یک دقیقه). البته در محیط های عملیاتی این زمان ممکن است به یک یا چند دقیقه هم برسد(تشخیص اینکه namenode اصلی با خطا مواجه شده و همچنین آماده سازی namenode جانشین).

Hadoop: The Definitive Guide by Tom White

استفاده از این مطلب با ذکر منبع بلامانع می باشد.

نظرات  (۲)

سلام،
ممنون از شما.
با سلام-بسیار عالی-ممنون از زحمات شما
امکان داره منبع مطالبی که در مطالب 1 و2 نوشتید رو ذکر کنی؟
پاسخ:
سلام، تشکر.
راستش درست متوجه نشدم که منظور شما چیه. لطفا کمی واضح تر بفرمایید.

درضمن بنده جهت اطلاع می بایست عرض کنم که انتهای هر یک از مطالب منبع آن به انگلیسی نوشته شده است.

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی