SlideShare a Scribd company logo
1 of 60
‫یع‬‫ز‬‫تو‬‫فایل‬‫سیستم‬‫هدوپ‬‫شده‬HDFS
Fatemeh sadat hashemi
Fereshte fayazfar
Dr. Dorri
Spring 97
1
‫مقدمه‬:
‫هدوپ‬‫دو‬‫واحد‬‫اصلی‬‫د‬‫ر‬‫دا‬:
.1‫حافظه‬
.2‫ش‬‫ز‬‫پردا‬
‫وقتی‬‫در‬‫د‬‫ر‬‫مو‬‫بخش‬‫‌ی‬‫ه‬‫حافظ‬‫هدوپ‬‫صحبت‬،‫‌کنیم‬‫ی‬‫م‬‌‫ر‬‫منظو‬HDFS‫است‬‫که‬‫مخفف‬‫ت‬‫ر‬‫عبا‬‫سیستم‬‫فایل‬
‫‌ی‬‫ه‬‫‌شد‬‫ع‬‫ی‬‫ز‬‫تو‬‫هدوپ‬‫است‬.
‫در‬‫این‬‫ائه‬‫ر‬‫ا‬‫به‬‫ی‬ ‫س‬‫ر‬‫بر‬‫د‬‫ر‬‫موا‬‫یر‬‫ز‬‫می‬‫یم‬‫ز‬‫پردا‬:
HDFS‫چیست؟‬
‫ایای‬‫ز‬‫م‬HDFS
‫‌های‬‫ی‬‫ویژگ‬HDFS
‌‫ی‬‫معمار‬‫سیستم‬‫فایل‬‫یع‬‫ز‬‫تو‬‫شده‬‫هدوپ‬HDFS
2
‫فایل‬‫سیستم‬‫شده‬‫یع‬‫ز‬‫تو‬(DFS):
‫سیستم‬‫فایل‬‫‌شده‬‫ع‬‫ی‬‫ز‬‫تو‬‫به‬‫مدیریت‬،‫‌ها‬‫ه‬‫داد‬‫یعنی‬‫‌ها‬‫ل‬‫فای‬‫یا‬‫‌های‬‫ه‬‫پوش‬‫موجود‬‫در‬‫چندین‬‫کامپیوتر‬‫یا‬‫س‬‫ر‬‫و‬‫ر‬‫د‬‫ز‬‫‌پردا‬‫ی‬‫م‬.
‫به‬‫بیان‬،‫دیگر‬DFS‫سیستم‬‫فایلی‬‫است‬‫که‬‫به‬‫ما‬‫ه‬‫ز‬‫اجا‬‫‌دهد‬‫ی‬‫م‬‫‌ها‬‫ه‬‫داد‬‫ا‬‫ر‬‫در‬‫بیشتر‬‫از‬‫چندین‬‫گره‬‫یا‬‫ماشین‬‫د‬‫ر‬‫یک‬
‫مجموعه‬‫ذخیره‬‫کنیم‬‫و‬‫به‬‫چندین‬‫بر‬‫ر‬‫کا‬‫ه‬‫ز‬‫اجا‬‫‌دهد‬‫ی‬‫م‬‫که‬‫به‬‫‌ها‬‫ه‬‫داد‬‫ی‬ ‫دسترس‬‫داشته‬‫باشند‬.‫این‬‫ر‬‫بناب‬‫به‬‌‫ر‬‫طو‬،‫کلی‬‫یک‬
‫سیستم‬‫فایل‬‫یع‬‫ز‬‫تو‬‫شده‬‫اهدافی‬‫یکسان‬‫با‬‫سیستم‬‫فایلی‬‫که‬‫تابحال‬‫در‬‫اختیار‬‫داشتید‬(‫ای‬‫ر‬‫ب‬‫مثال‬NTFS‫در‬،‫ز‬‫ویندو‬
HFS‫در‬‫مک‬‫و‬‫یا‬EX4‫در‬‫لینوکس‬)‫ا‬‫ر‬‫در‬‫پیش‬‫‌گیرد‬‫ی‬‫م‬.‫تنها‬‫تفاوت‬‫این‬‫است‬،‫که‬‫در‬‫حالت‬‫سیستم‬‫فایل‬‌‫و‬‫ت‬‫‌شده‬‫ع‬‫ی‬‫ز‬
‫شما‬‫داده‬‫ا‬‫ر‬‫به‬‫جای‬‫یک‬‫دستگاه‬‫در‬‫چند‬‫دستگاه‬‫ذخیره‬‫‌کنید‬‫ی‬‫م‬.‫بااینکه‬‫‌ها‬‫ل‬‫فای‬‫در‬‫شبکه‬‫ذخیره‬‌‫و‬‫‌ش‬‫ی‬‫م‬،‫ند‬DFS
‫‌ها‬‫ه‬‫داد‬‫ا‬‫ر‬‫به‬‫‌ای‬‫ه‬‫گون‬‫مان‬‫ز‬‫سا‬‫داده‬‫و‬‫نمایش‬‫‌دهد‬‫ی‬‫م‬‫که‬‌‫ی‬‫بر‬‫ر‬‫کا‬‫که‬‌‫ل‬‫مشغو‬‫کار‬‫با‬‫دستگاه‬‫است‬‫حس‬‫‌کند‬‫ی‬‫م‬‫ک‬‫ه‬‫تمام‬
‫‌ها‬‫ه‬‫داد‬‫ت‬‫ر‬‫بصو‬‫واحد‬‫و‬‫در‬‫یک‬‫دستگاه‬‫ذخیره‬‫‌اند‬‫ه‬‫شد‬.
3
‫هدوپ‬‫شده‬‫یع‬‫ز‬‫تو‬‫فایل‬‫سیستم‬(HDFS):
‫سیستم‬‫فایل‬‫‌ی‬‫ه‬‫‌شد‬‫ع‬‫ی‬‫ز‬‫تو‬‫هدوپ‬‫یا‬HDFS‫یک‬‫سیستم‬‫فایل‬‫‌شده‬‫ع‬‫ی‬‫ز‬‫تو‬‫بر‬‫اساس‬‫جاوا‬‫است‬‫که‬‫شما‬‫ا‬‫ر‬‫قادر‬‌‫ز‬‫‌سا‬‫ی‬‫م‬‫د‬
‫که‬‫‌های‬‫ه‬‫داد‬‫حجیم‬‫ا‬‫ر‬‫در‬‫چندین‬‫گره‬‫در‬‫یک‬‫کالستر‬‫هدوپ‬‫ذخیره‬‫کنید‬.،‫این‬‫ر‬‫بناب‬‫اگر‬‫هدوپ‬‫ا‬‫ر‬‫نصب‬،‫کنید‬‫ب‬‫ه‬HDFS
‫به‬‫عنوان‬‫سیستم‬‌‫ی‬‫‌ساز‬‫ه‬‫ذخیر‬‫‌ها‬‫ه‬‫داد‬‫در‬‫فضای‬‫‌شده‬‫ع‬‫ی‬‫ز‬‫تو‬‫ی‬ ‫دسترس‬‫پیدا‬‫‌کنید‬‫ی‬‫م‬.
4
‫مثال‬:
‌‫ر‬‫تصو‬‫کنید‬‫که‬۱۰‫دستگاه‬‫یا‬۱۰‫کامپیوتر‬‫ید‬‫ر‬‫دا‬‫که‬‫هر‬‫کدام‬‫د‬‫ر‬‫ها‬‌‫ی‬‫ایو‬‫ر‬‫د‬‫با‬‫ظرفیت‬۱‫ابایت‬‫ر‬‫ت‬
‫ند‬‫ر‬‫دا‬.‫در‬‫این‬،‫حالت‬HDFS‫‌گوید‬‫ی‬‫م‬‫که‬‫اگر‬‫شما‬‫هدوپ‬‫ا‬‫ر‬‫به‬‫عنوان‬‫سکویی‬‫ی‬‫و‬‫بر‬‫این‬‫ده‬
‫ماشین‬‫نصب‬،‫کنید‬‫به‬HDFS‫به‬‫عنوان‬‫یس‬‫و‬‫سر‬‫ذخیره‬‫ی‬ ‫دسترس‬‫خواهید‬‫داشت‬.‫سیستم‬‫ف‬‫ایل‬
‫‌ی‬‫ه‬‫‌شد‬‫ع‬‫ی‬‫ز‬‫تو‬‫هدوپ‬‫تی‬‫ر‬‫بصو‬‫یع‬‫ز‬‫تو‬‫شدگی‬‫ا‬‫ر‬‫ایجاد‬‫‌کند‬‫ی‬‫م‬‫که‬‫از‬‫‌ی‬‫ه‬‫حافظ‬‫ی‬ ‫اختصاص‬‫ه‬‫ریک‬‫از‬
‫‌ها‬‫ه‬‫دستگا‬‫ای‬‫ر‬‫ب‬‌‫ی‬‫‌ساز‬‫ه‬‫ذخیر‬‫‌ها‬‫ه‬‫داد‬‫استفاده‬‫‌کند‬‫ی‬‫م‬.
‫وقتی‬‫شما‬‫از‬‫طریق‬‫هر‬‫کدام‬‫از‬۱۰‫گره‬‫موجود‬‫در‬‫‌ی‬‫ه‬‫مجموع‬‫هدوپ‬‫به‬‫سیستم‬‫فایل‬
‫‌ی‬‫ه‬‫‌شد‬‫ع‬‫ی‬‫ز‬‫تو‬‫هدوپ‬‫ی‬ ‫دسترس‬‫پیدا‬،‫‌کنید‬‫ی‬‫م‬‫احساس‬‫‌کنید‬‫ی‬‫م‬‫که‬‫د‬‫ر‬‫وا‬‫یک‬‫ماشین‬‫گ‬‫ر‬‫بز‬‫با‬‫ظرفیت‬
‫‌ی‬‫ه‬‫حافظ‬۱۰‫ابایتی‬‫ر‬‫ت‬(‫‌ی‬‫ه‬‫حافظ‬‫کل‬۱۰‫گره‬)‫‌اید‬‫ه‬‫شد‬.‫به‬‫این‬‫معنا‬‫است‬‫که‬‫شما‬‫‌توانید‬‫ی‬‫م‬‫یک‬
‫فایل‬۱۰‫ابایتی‬‫ر‬‫ت‬‫ا‬‫ر‬‫ی‬‫ر‬‫طو‬‫ذخیره‬‫کنید‬‫که‬‫در‬‫تمام‬۱۰‫گره‬(‫هرکدام‬۱‫ابایت‬‫ر‬‫ت‬)‫یع‬‫ز‬‫تو‬‫شود‬.
،‫این‬‫ر‬‫بناب‬‫این‬‫ند‬‫و‬‫ر‬‫به‬‫‌های‬‫ت‬‫محدودی‬‫فیزیکی‬‫هر‬‫یک‬‫از‬‫‌ها‬‫ه‬‫گر‬‫محدود‬‫‌شود‬‫ی‬‫نم‬.
5
‫ایای‬‫ز‬‫م‬‫هدوپ‬(1:)
.1‫محاسبات‬‫شده‬‫یع‬‫ز‬‫تو‬‫و‬‫ی‬‫مواز‬:
‫که‬‫ر‬‫همانطو‬‫‌دانید‬‫ی‬‫م‬‫مسائل‬‫مطرح‬‫در‬‫ه‬‫ز‬‫حو‬‫کالن‬‫داده‬‫معموال‬‫با‬‫حجم‬‫باالیی‬‫از‬‫‌ها‬‫ه‬‫داد‬‫سر‬‫و‬‫کار‬‫ند‬‫ر‬‫دا‬.‫این‬‫مسائل‬‫جز‬‫مسائل‬‫ح‬‫ساس‬
‫به‬‫داده‬‫تلقی‬‫‌شوند‬‫ی‬‫م‬.‫برنامه‬‫های‬‫حساس‬‫به‬‫داده‬‫به‬‫برنامه‬‫هایی‬‫اطالق‬‫می‬‫شود‬‫که‬‫در‬‫آنها‬‫تمرکز‬‫اصلی‬،‫مسئله‬‫پردا‬‫ش‬‫ز‬‫حجم‬‫عظیمی‬
‫از‬‫داده‬‫ها‬‫می‬‫باشد‬.‫در‬‫این‬‫نوع‬‫برنامه‬،‫ها‬‫انجام‬‫های‬‫ر‬‫کا‬I/O‫و‬‫جابجایی‬‫داده‬،‫ها‬‫بیشتر‬‫مان‬‫ز‬‫ای‬‫ر‬‫اج‬‫برنامه‬‫ا‬‫ر‬‫به‬‫خود‬‫اختصاص‬‫می‬
‫دهند‬.‫ش‬‫ز‬‫پردا‬‌‫ی‬‫مواز‬‫در‬‫برنامه‬‫های‬‫حساس‬‫به‬‫داده‬‫نیز‬‫معموال‬‫از‬‫طریق‬‫تقسیم‬‫کردن‬‫داده‬‫ها‬‫به‬‫چندین‬‫بخش‬‫محقق‬‫می‬‫شود‬‫که‬‫هر‬
‫یک‬‫از‬‫این‬‫بخش‬‫ها‬‫می‬‫توانند‬‌‫ر‬‫بطو‬‫مستقل‬‫ش‬‫ز‬‫پردا‬‫شوند‬.‫یک‬‫برنامه‬‫ایی‬‫ر‬‫اج‬‫یکسان‬‌‫ر‬‫بطو‬‌‫ی‬‫مواز‬‫ی‬‫و‬‫بر‬‫تمام‬‫قسمت‬‫های‬‫د‬‫اده‬‫ها‬‫ا‬‫ر‬‫اج‬
‫می‬،‫شود‬‫و‬‫پس‬‫از‬،‫ا‬‫ر‬‫اج‬‫نتایج‬‫حاصل‬‫از‬‫ای‬‫ر‬‫اج‬‫برنامه‬‫ها‬‫با‬‫یکدیگر‬‫ادغام‬‫شده‬‫و‬‫جی‬‫و‬‫خر‬‫نهایی‬‫ا‬‫ر‬‫تولید‬‫می‬‫کند‬.‌‫ی‬‫سکو‬‌‫و‬‫هد‬‫پ‬‫نیز‬
‫مطابق‬‫با‬‫همین‬‫ش‬‫و‬‫ر‬‫از‬‫تقسیم‬‫‌ها‬‫ه‬‫داد‬‫و‬‫انجام‬‫ش‬‫ز‬‫پردا‬‫ی‬‫و‬‫بر‬‫این‬‫‌ها‬‫ه‬‫داد‬‫استفاده‬‫‌کند‬‫ی‬‫م‬.
6
‫ایای‬‫ز‬‫م‬‫هدوپ‬(2:)
.2‫ی‬‫پذیر‬‫مقیاس‬:
‫مزیت‬‌‫ی‬‫دیگر‬‫که‬‫ه‬‫ژ‬‫و‬‫پر‬‫هدوپ‬‫از‬‫آن‬‫دار‬‫ر‬‫برخو‬،‫است‬‌‫ی‬‫‌پذیر‬‫س‬‫مقیا‬‫افقی‬‫است‬.‫در‬‫سیستم‬‫‌های‬‫ل‬‫فای‬‫یع‬‫ز‬‫تو‬‫شده‬‫به‬‫من‬‌‫ر‬‫ظو‬‫ایش‬‫ز‬‫اف‬
‫و‬‫یا‬‫کاهش‬‫ظرفیت‬‫ذخیره‬‌‫ی‬‫ساز‬‫‌توان‬‫ی‬‫م‬‫از‬‫دو‬‫ش‬‫و‬‫ر‬‌‫ی‬‫‌پذیر‬‫س‬‫مقیا‬‫استفاده‬‫کرد‬:‌‫ی‬‫‌پذیر‬‫س‬‫مقیا‬‫عمودی‬‫و‬‫افقی‬.
7
‫ی‬‫پذیر‬‫مقیاس‬‫عمودی‬(scale up):‫ظرفیت‬‌‫ی‬‫ار‬‫ز‬‫‌اف‬‫ت‬‫سخ‬‫سیستم‬‫ا‬‫ر‬‫ایش‬‫ز‬‫اف‬‫‌دهیم‬‫ی‬‫م‬.‫به‬‫بیان‬،‫دیگر‬Ram،CPU‫و‬‫یا‬
‫دیسک‬‌‫ی‬‫بیشتر‬‫ا‬‫ر‬‫به‬‫سیستم‬‫موجودتان‬‫اضافه‬‫‌کنید‬‫ی‬‫م‬‫تا‬‫آن‬‫ا‬‫ر‬‫‌تر‬‫ی‬‫قو‬‫کنید‬.‫اما‬‫‌هایی‬‫ش‬‫چال‬‫اه‬‫ر‬‫هم‬‫با‬‫‌پذ‬‫س‬‫مقیا‬‌‫ی‬‫یر‬‫عمودی‬
‫وجود‬‫د‬‫ر‬‫دا‬:
‫همیشه‬‫در‬‫د‬‫ر‬‫مو‬‫ایش‬‫ز‬‫اف‬‫ظرفیت‬‫تان‬‫ر‬‫ا‬‫ز‬‫‌اف‬‫ت‬‫سخ‬‫محدودیت‬‫وجود‬‫د‬‫ر‬‫دا‬.،‫این‬‫ر‬‫بناب‬‫‌توانید‬‫ی‬‫نم‬‫ه‬‫ر‬‫هموا‬‫به‬‫ایش‬‫ز‬‫اف‬‫من‬‫ابع‬‫دستگاه‬
‫ادامه‬‫دهید‬.
‫در‬‌‫ی‬‫‌پذیر‬‫س‬‫مقیا‬،‫عمودی‬‫در‬‫اکثر‬‫مواقع‬‫باید‬‫ابتدا‬‫ماشین‬‫ا‬‫ر‬‫خاموش‬‫کرد‬.‫سپس‬‫ای‬‫ر‬‫ب‬‫داشتن‬‫‌ی‬‫ه‬‫مجموع‬‌‫ار‬‫ز‬‫‌اف‬‫ت‬‫سخ‬‌‫ی‬‫هرچه‬
‫‌تر‬‫ی‬‫قو‬‫منابع‬‫ا‬‫ر‬‫ایش‬‫ز‬‫اف‬‫داد‬‫و‬‫بعد‬‫از‬‫آن‬‫ه‬‫ر‬‫دوبا‬‫ماشین‬‫ا‬‫ر‬‌‫ی‬‫‌انداز‬‫ه‬‫ا‬‫ر‬‫کرد‬.
‫ی‬‫پذیر‬‫مقیاس‬‫افقی‬(scale out):‫به‬‫جای‬‫ایش‬‫ز‬‫اف‬‫ظرفیت‬‫ار‬‫ز‬‫‌اف‬‫ت‬‫سخ‬‫هر‬،‫دستگاه‬‫به‬‫کالستر‬‫موجود‬‫‌های‬‫ه‬‫گر‬‌‫ر‬‫بیشت‬‌‫ی‬
‫اضافه‬‫‌کنید‬‫ی‬‫م‬.‫و‬‫‌تر‬‫م‬‫مه‬‫از‬‫همه‬‫این‬‫است‬‫که‬‫‌توانید‬‫ی‬‫م‬‫‌های‬‫ه‬‫دستگا‬‌‫ی‬‫بیشتر‬‫که‬‫در‬‫حال‬‫فعالیت‬‫هستند‬‫ا‬‫ر‬‌‫ن‬‫بدو‬‫م‬‫توقف‬‫کردن‬
‫سیستم‬‫اضافه‬‫کنید‬.،‫این‬‫ر‬‫بناب‬‫در‬‫حین‬‌‫ی‬‫‌پذیر‬‫س‬‫مقیا‬‫افقی‬‫هیچ‬‫مانی‬‫ز‬‫نیاز‬‫نیست‬‫به‬‌‫ر‬‫منظو‬‫ایش‬‫ز‬‫اف‬‫و‬‫یا‬‫کاه‬‫ش‬‫مقیاس‬،‫کالستر‬
‫عملکرد‬‫آن‬‫ا‬‫ر‬‫متوقف‬‫کرد‬. 8
‫های‬‫ویژگی‬HDFS(1:)
‫هزینه‬:
‫به‬‌‫ر‬‫طو‬،‫کلی‬HDFS‫‌تواند‬‫ی‬‫م‬‫بر‬‫ی‬‫و‬‫ر‬‫یک‬‫ار‬‫ز‬‫‌اف‬‫ت‬‫سخ‬‫ان‬‫ز‬‫ار‬‫قیمت‬‫مانند‬‫دسکتاپ‬/‫لپتاپ‬‫که‬‫هر‬‫ز‬‫و‬‫ر‬‫از‬‫آن‬‫استفاده‬‫می‬‫‌کنید‬‫تا‬
‫‌های‬‫ر‬‫و‬‫سر‬‫ویژه‬‫و‬‫ان‬‫ر‬‫گ‬‫قیمت‬‫ا‬‫ر‬‫اج‬‫شود‬.‫این‬‫ر‬‫بناب‬‫اه‬‫ر‬‫حل‬‫بسیار‬‫ن‬‫و‬‫مقر‬‫به‬‫‌ایی‬‫ه‬‫صرف‬‫ای‬‫ر‬‫ب‬‌‫ی‬‫‌ساز‬‫ه‬‫ذخیر‬‫‌ها‬‫ه‬‫داد‬‫در‬‫مق‬‫یاس‬‫باال‬
‫است‬.‌‫ن‬‫چو‬‫ما‬‫از‬‫ار‬‫ز‬‫‌اف‬‫ت‬‫سخ‬‫مناسب‬‫‌قیمت‬‫ن‬‫ا‬‫ز‬‫ار‬‫استفاده‬،‫‌کنیم‬‫ی‬‫م‬‌‫ی‬‫نیاز‬‫ید‬‫ر‬‫ندا‬‫که‬‫ای‬‫ر‬‫ب‬‌‫ی‬‫‌پذیر‬‫س‬‫مقیا‬‫افقی‬‫کالس‬‫تر‬‫هدوپ‬
‫‌ی‬‫ه‬‫هزین‬‫یادی‬‫ز‬‫صرف‬‫کنید‬.‫به‬‫بیان‬،‫دیگر‬‫اضافه‬‫کردن‬‫‌های‬‫ه‬‫گر‬‫بیشتر‬‫به‬HDFS(‌‫ی‬‫‌پذیر‬‫س‬‫مقیا‬‫افقی‬)‫از‬‫نظر‬‫اقتصادی‬
‫نسبت‬‫به‬‫تهیه‬‫ار‬‫ز‬‫‌اف‬‫ت‬‫سخ‬‫‌تر‬‫ی‬‫قو‬‫ن‬‫و‬‫مقر‬‫به‬‫‌تر‬‫ه‬‫صرف‬‫است‬.
9
‫های‬‫ویژگی‬HDFS(2:)
‫تنوع‬‫و‬‫حجم‬‫داده‬:
‫تنوع‬‫و‬‫حجم‬‫دو‬‫د‬‫ر‬‫مو‬‫از‬‫‌های‬‫ی‬‫ویژگ‬‫محیط‬‫کالن‬‫داده‬‫می‬‫باشند‬‫‌که‬‌
‫‌توان‬‫ی‬‫م‬‫احتی‬‫ر‬‫ب‬‫این‬‫د‬‫ر‬‫موا‬‫ا‬‫ر‬‫در‬HDFS‫مدیریت‬‫کرد‬.‫در‬HDFS،
‫‌توان‬‫ی‬‫م‬‫‌های‬‫ه‬‫داد‬‫حجیمی‬‫مانند‬‫چندین‬‫ابایت‬‫ر‬‫ت‬‫و‬‫یا‬‫پتابایت‬‫ا‬‫ر‬‫در‬
‫انواع‬‫مختلف‬‫داده‬‫ذخیره‬‫کرد‬.‫این‬‫ر‬‫بناب‬‫‌توانید‬‫ی‬‫م‬‫هر‬‫نوع‬‫دا‬‫‌ای‬‫ه‬‫د‬
‫اعم‬‫از‬،‫یافته‬‫ر‬‫ساختا‬‫یافته‬‫ر‬‫غیرساختا‬‫یا‬‫یاف‬‫ر‬‫‌ساختا‬‫ه‬‫نیم‬‫ته‬‫ا‬‫ر‬‫در‬‫آن‬
‫ذخیره‬‫کنید‬.
10
‫های‬‫ویژگی‬HDFS(3:)
‫قابلیت‬‫اطمینان‬‫و‬‫مقاومت‬‫در‬‫برابر‬‫خطا‬:
‫وقتی‬‫‌ها‬‫ه‬‫داد‬‫ا‬‫ر‬‫بر‬‫ی‬‫و‬‫ر‬HDFS‫ذخیره‬،‫‌کنید‬‫ی‬‫م‬‫به‬‫ت‬‫ر‬‫صو‬‫خودکار‬‫‌های‬‫ه‬‫داد‬‫ودی‬‫ر‬‫و‬‫به‬‫‌های‬‫ک‬‫بال‬‫‌ای‬‫ه‬‫داد‬‫تقسیم‬‫‌شود‬‫ی‬‫م‬‫و‬
‫‌ها‬‫ن‬‫آ‬‫به‬‫سبک‬‫‌شده‬‫ع‬‫ی‬‫ز‬‫تو‬‫در‬‫کالستر‬‫هدوپ‬‫ذخیره‬‫‌شود‬‫ی‬‫م‬.‫اطالعات‬‫مربوط‬‫به‬‫اینکه‬‫چه‬‫بالک‬‫‌ای‬‫ه‬‫داد‬‫در‬‫کدام‬‫گره‬‫داده‬‫ار‬‫ر‬‫ق‬
،‫گرفته‬‫ت‬‫ر‬‫بصو‬‫‌ای‬‫ه‬‫اداد‬‫ر‬‫ف‬‫ای‬‫ر‬‫ب‬‫آن‬‫داده‬‫ذخیره‬‫‌شود‬‫ی‬‫م‬.NameNode‫‌ها‬‫ه‬‫اداد‬‫ر‬‫ف‬‫ا‬‫ر‬‫مدیریت‬‫‌کند‬‫ی‬‫م‬‫و‬DataNode‫ها‬
‌‫ل‬‫مسئو‬‫‌ی‬‫ه‬‫ذخیر‬‫‌ها‬‫ه‬‫داد‬‫هستند‬.NameNode‫همچنین‬‫مدیریت‬‫ار‬‫ر‬‫تک‬‫‌ها‬‫ه‬‫داد‬‫ا‬‫ر‬‫برعهده‬‫د‬‫ر‬‫دا‬.‫یعنی‬‫چندین‬‫کپی‬‫از‬‫‌ها‬‫ه‬‫داد‬‫ا‬‫ر‬
‌‫ی‬‫نگهدار‬‫‌کند‬‫ی‬‫م‬.‫این‬‫تولید‬‫مجدد‬‫‌ها‬‫ه‬‫داد‬HDFS‫ا‬‫ر‬‫ابر‬‫ر‬‫ب‬‫ابی‬‫ر‬‫خ‬‫گره‬‫بسیار‬‫ایمن‬‫‌کند‬‫ی‬‫م‬.،‫این‬‫ر‬‫بناب‬‫حتی‬‫اگر‬‫هر‬‫کدام‬‌‫گر‬‫‌ها‬‫ه‬‫از‬
‫کار‬،‫بیفتند‬‫‌توانیم‬‫ی‬‫م‬‫‌ها‬‫ه‬‫داد‬‫ا‬‫ر‬‫از‬‫طریق‬‫‌های‬‫ه‬‫نسخ‬‫دیگر‬‫موجود‬‫بر‬‫سایر‬‫‌ها‬‫ه‬‫گر‬‫یابی‬‫ز‬‫با‬‫کنیم‬.‫به‬‫ت‬‫ر‬‫صو‬‫پیش‬،‫‌فرض‬‫ضریب‬
‫ار‬‫ر‬‫تک‬۳‫است‬.
11
‫هدوپ‬‫شده‬‫یع‬‫ز‬‫تو‬‫فایل‬‫سیستم‬‫ی‬‫معمار‬HDFS:
‌‫دی‌که‌در‬‫ر‬‫موا‬‌‫‌سیستم‬‫ی‬‫خصوص‌معمار‬‫فایل‬HDSF‌‌‫ی‬ ‫س‬‫ر‬‫در‌آپاچی‌هدوپ‌بر‬‌‫می‌کنیم‌شامل‬‫یر‌هستند‬‫ز‬‌‫د‬‫ر‬‫موا‬:
‌‫ی‬‫ژ‬‫توپولو‬Master/Slave‌‫در‬HDSF
‌‫مفاهیم‬NameNode،DataNode‌‫و‬NameNode Secondary
‌‫‌ها‌در‬‫ه‬‫بالک‌داد‬HDFS
‫ها‬‫ر‬‫ا‬‫ر‬‫مدیریت‌تک‬
‌‫قابلیت‌آگاهی‌از‬‫رک‬‌‫در‬HDFS
‌‫مکانیسم‌خواندن‌و‌نوشتن‌داده‌در‬HDSF
12
‫هدوپ‬‫شده‬‫یع‬‫ز‬‫تو‬‫فایل‬‫سیستم‬‫ی‬‫معمار‬:
‌‫ی‬‫معمار‬HDSF‫در‬‫آپاچی‬‫هدوپ‬‫از‬‫یک‬‌‫ی‬‫معمار‬Master/Slave‫پیروی‬‫‌کند‬‫ی‬‫م‬.‫یک‬‫خوشه‬HDFS‫متشکل‬‫از‬‫یک‬‫گره‬‫به‬
‫عنوان‬) Master‫یس‬‫و‬‫سر‬NameNode)‫و‬‫سایر‬‫‌ها‬‫ه‬‫گر‬‫به‬‫عنوان‬‫‌های‬‫ه‬‫گر‬Slave(‫یس‬‫و‬‫سر‬DataNode)‫است‬.
HDSF‫‌تواند‬‫ی‬‫م‬‫ی‬‫و‬‫بر‬‫طیف‬‫وسیعی‬‫از‬‫‌هایی‬‫ن‬‫ماشی‬‫که‬‫از‬‫جاوا‬‫پشتیبانی‬‫‌کنند‬‫ی‬‫م‬‫ا‬‫ر‬‫اج‬‫شود‬.‫گرچه‬‫‌توان‬‫ی‬‫م‬‫چندی‬‫ن‬
DataNode‫ا‬‫ر‬‫ی‬‫و‬‫بر‬‫یک‬‫ماشین‬‫ا‬‫ر‬‫اج‬،‫کرد‬‫اما‬‫به‬‌‫ر‬‫منظو‬‫ایش‬‫ز‬‫اف‬،‫آمدی‬‫ر‬‫کا‬‫این‬DataNode‫ها‬‫ی‬‫و‬‫بر‬‫‌های‬‫ن‬‫ماشی‬‫مختلف‬
‫پخش‬‫‌شوند‬‫ی‬‫م‬.
13
:NameNode
‫یس‬‫و‬‫سر‬NameNode‫یس‬‫و‬‫سر‬‫مدیریتی‬‫در‬‫سیستم‬‫فایل‬‫هدوپ‬‫‌باشد‬‫ی‬‫م‬.‫وظیفه‬‫اصلی‬‫این‬‫یس‬‫و‬‫سر‬‫مدیریت‬‫تمام‬‫گ‬‫‌های‬‫ه‬‫ر‬
Slave‫و‬‫در‬‫حقیقت‬‫کل‬‫سیستم‬‫فایل‬HDFS‫‌باشد‬‫ی‬‫م‬.‫در‬‫شکل‬‫یر‬‫ز‬‫موقعیت‬‌‫ی‬‫ارگیر‬‫ر‬‫ق‬‫این‬‫مولفه‬‫در‬HDFS‫نشان‬‫داده‬‫شده‬
‫است‬.
14
‫وظایف‬NameNode(:1)
‫ت‬‫ر‬‫بصو‬‫یک‬‫یس‬‫و‬‫سر‬‫در‬‫گره‬Master‫بوده‬‫که‬‫مدیریت‬‫و‬‌‫ی‬‫نگهدار‬‫از‬DataNode‫ها‬‫ا‬‫ر‬‫انجام‬‫‌دهد‬‫ی‬‫م‬.
‫‌های‬‫ه‬‫متاداد‬‫تمام‬،‫‌ها‬‫ل‬‫فای‬‫ای‬‫ر‬‫ب‬‫مثال‬‫محل‬‌‫ی‬‫‌ساز‬‫ه‬‫ذخیر‬‫‌ها‬‫ک‬‫بال‬،‫ه‬‫ز‬‫اندا‬،‫‌ها‬‫ل‬‫فای‬،‫‌ها‬‫ی‬ ‫دسترس‬‫ساختار‬‫ختی‬‫ر‬‫د‬‫و‬‌‫غیر‬‫ه‬‫ا‬‫ر‬‫در‬
‫خوشه‬‫ضبط‬‫‌کند‬‫ی‬‫م‬.‫ای‬‫ر‬‫ب‬‌‫ی‬‫‌ساز‬‫ه‬‫ذخیر‬‫این‬،‫اطالعات‬‫دو‬‫نوع‬‫فایل‬‫ت‬‫ر‬‫بصو‬‫متاداده‬‫هستند‬:
: FsImage‫این‬‫فایل‬‫شامل‬‫وضعیت‬‫کامل‬‫فضای‬‫نام‬‫سیستم‬‫فایل‬‫از‬‫ابتدای‬‌‫ی‬‫‌انداز‬‫ه‬‫ا‬‫ر‬‫خوشه‬HDFS‫است‬.
: EditLogs‫این‬‫فایل‬‫شامل‬‫تمام‬‫ات‬‫ر‬‫تغیی‬‫ایجاد‬‫شده‬‫در‬‫سیستم‬‫فایل‬HDFS‫پس‬‫از‬‫آخرین‬‫ات‬‫ر‬‫تغیی‬‫موجود‬‫در‬‫فایل‬
FsImage‫‌باشد‬‫ی‬‫م‬.
NameNode‫از‬‫تمام‬‫ات‬‫ر‬‫تغیی‬‫در‬‫سیستم‬‫فایل‬‫باخبر‬‫‌شود‬‫ی‬‫م‬‫و‬‫متاداده‬‫مرتبط‬‫با‬‫آن‬‫ات‬‫ر‬‫تغیی‬‫ا‬‫ر‬‫س‬‫ر‬‫ز‬‫و‬‫بر‬‫انی‬‫‌کند‬‫ی‬‫م‬.
‫ای‬‫ر‬‫ب‬،‫مثال‬‫اگر‬‫یک‬‫فایل‬‫از‬HDFS‫حذف‬،‫شود‬NameNode‫سریعا‬‫این‬‫ات‬‫ر‬‫تغیی‬‫ا‬‫ر‬‫در‬‫فایل‬EditLogs‫ذخیره‬
‫‌کند‬‫ی‬‫م‬. 15
‫وظایف‬NameNode(:2)
‫یس‬‫و‬‫سر‬NameNode‫لیست‬‫تمام‬‫‌های‬‫ک‬‫بال‬‫سیستم‬‫فایل‬‫ا‬‫ر‬‫در‬‫خود‬‫د‬‫ر‬‫دا‬‫و‬‫‌داند‬‫ی‬‫م‬‫هریک‬‫از‬‫این‬‫‌ها‬‫ک‬‫بال‬‫در‬‫کدام‬
‫گره‬‫ذخیره‬‫‌اند‬‫ه‬‫شد‬.
NameNode‫همچنین‬‫وظیفه‬‫مدیریت‬‫ار‬‫ر‬‫تک‬‫تمام‬‫‌ها‬‫ک‬‫بال‬‫در‬‫سیستم‬‫فایل‬‫ا‬‫ر‬‫‌عهده‬‫ر‬‫ب‬‫د‬‫ر‬‫دا‬.
‫ت‬‫ر‬‫صو‬‫ر‬‫د‬‫ابی‬‫ر‬‫خ‬‫هریک‬‫از‬‫‌های‬‫ه‬‫گر‬Slave،NameNode‫تصمیم‬‫‌گیرد‬‫ی‬‫م‬‫که‬‫در‬‫یک‬Slave‫جدید‬‫یک‬‫کپی‬‫دیگر‬‫از‬
‫‌های‬‫ه‬‫داد‬‫از‬‫دست‬‫فته‬‫ر‬‫ایجاد‬‫کند‬‫تا‬‫سطح‬‫ار‬‫ر‬‫تک‬‫‌ها‬‫ک‬‫بال‬‫حفظ‬‫شود‬.‫همچنین‬‫ار‬‫ر‬‫برق‬‫سطح‬‌‫ن‬‫تواز‬‫داده‬‫و‬‫اف‬‫ر‬‫ت‬‫یک‬‫شبکه‬
‫در‬‫سطح‬‫خوشه‬‫نیز‬‫از‬‫دیگر‬‫وظایف‬‫یس‬‫و‬‫سر‬NameNode‫بشمار‬‫د‬‫و‬‫‌ر‬‫ی‬‫م‬.
16
:DataNode
DataNode،‫ها‬‌‫ی‬‫‌ها‬‫ه‬‫گر‬Slave‫در‬‫سیستم‬HDSF‫هستند‬.‫برخالف‬NameNode‫که‬‫پیشنهاد‬‫‌شود‬‫ی‬‫م‬‫ای‬‫ر‬‫دا‬
‌‫ی‬‫ار‬‫ز‬‫‌اف‬‫ت‬‫سخ‬‫با‬‫ظرفیت‬‫محاسباتی‬‫باال‬‫باشد؛‬‫ای‬‫ر‬‫ب‬‫‌های‬‫ه‬‫گر‬Slave‫‌توان‬‫ی‬‫م‬‫از‬‫های‬‫ر‬‫ا‬‫ز‬‫‌اف‬‫ت‬‫سخ‬‫ن‬‫و‬‫مقر‬‫بصرفه‬(‌‫ی‬‫ار‬‫ز‬‫‌اف‬‫ت‬‫سخ‬
‫که‬‫‌تواند‬‫ی‬‫م‬‫ای‬‫ر‬‫دا‬‫کیفیت‬‫باال‬‫یا‬‫قابلیت‬‫ی‬ ‫دسترس‬‫باال‬‫نباشد‬)‫استفاده‬‫کرد‬.‫در‬‫واقع‬‫گره‬Slave‫یک‬‫ماشین‬‫ر‬‫و‬‫سر‬‫است‬‫که‬
‫‌ها‬‫ه‬‫داد‬‫ا‬‫ر‬‫در‬‫سیستم‬‫فایل‬‫محلی‬‫خود‬‫نظیر‬ext3‫یا‬ext4‫ذخیره‬‫‌کند‬‫ی‬‫م‬.
17
‫یس‬‫و‬‫سر‬‫عملکردهای‬DataNode:
DataNode‫ی‬ ‫یس‬‫و‬‫سر‬‫است‬‫که‬‫ی‬‫و‬‫بر‬‫هرکدام‬‫از‬‫‌های‬‫ن‬‫ماشی‬Slave‫ا‬‫ر‬‫اج‬‫‌شود‬‫ی‬‫م‬.
‫‌های‬‫ه‬‫داد‬‫واقعی‬HDFS‫در‬‫‌های‬‫ه‬‫گر‬Slave‫ذخیره‬‫‌شوند‬‫ی‬‫م‬.
‫یس‬‫و‬‫سر‬DataNode‫‌های‬‫ت‬‫خواس‬‫ر‬‫د‬‫خواندن‬‫یا‬‫نوشتن‬‫از‬‫‌ها‬‫ت‬‫کالین‬‫ا‬‫ر‬‫ا‬‫ر‬‫اج‬‫‌کند‬‫ی‬‫م‬.
‫ت‬‫ر‬‫بصو‬‫متناوب‬‫ضربان‬‫قلب‬‫ا‬‫ر‬‫به‬NameNode‫سال‬‫ر‬‫ا‬‫‌کند‬‫ی‬‫م‬‫تا‬‫سالمتی‬‫کلی‬HDSF‫ا‬‫ر‬‫ش‬‫ر‬‫ا‬‫ز‬‫گ‬‫کند‬.‫ت‬‫ر‬‫بصو‬
،‫‌فرض‬‫ش‬‫پی‬‫این‬‫تناوب‬‫ای‬‫ر‬‫ب‬‫هر‬۳‫ثانیه‬‫تعیین‬‫شده‬‫است‬.
‫پس‬‫متوجه‬‫‌ایم‬‫ه‬‫شد‬‫که‬NameNode‫اهمیت‬‌‫ی‬‫بسیار‬‫د‬‫ر‬‫دا‬.‫اگر‬‫این‬‫گره‬‫در‬‫عملکرد‬‫خود‬‫دچار‬‫اشکال‬،‫شود‬‫تمام‬
‫سیستم‬‫فایل‬‫دچار‬‫اشکال‬‫‌شود‬‫ی‬‫م‬.‫در‬‫واقع‬‌‫ی‬‫معمار‬HDFS‫ای‬‫ر‬‫دا‬‫یک‬‫نقطه‬‫شکست‬((SPOF‫‌باشد‬‫ی‬‫م‬.‫اما‬‫با‬
‫‌هایی‬‫م‬‫مکانیس‬‫نظیر‬‫قابلیت‬‌‫ی‬‫‌پذیر‬‫س‬‫دستر‬‫باال‬‫که‬‫در‬‫نسخه‬۲‫هدوپ‬‫معرفی‬‫شد‬‫این‬‫مشکل‬‫برطرف‬‫شده‬‫است‬.
18
Secondary NameNode:
‫عالوه‬‫بر‬‫‌های‬‫س‬‫ی‬‫و‬‫سر‬NameNode‫و‬DataNode،‫یس‬‫و‬‫سر‬‫سومی‬‫بنام‬NameNode Secondary‫وجود‬‫د‬‫ر‬‫دا‬.‫این‬
NameNode Secondary‫ت‬‫ر‬‫بصو‬‫همزمان‬‫با‬NameNode‫اصلی‬‫بعنوان‬‫یک‬‫یس‬‫و‬‫سر‬‫‌کننده‬‫ک‬‫کم‬‫کار‬‫‌کند‬‫ی‬‫م‬.‫البته‬
NameNode Secondary‫بعنوان‬‫یک‬NameNode‫پشتیبان‬،‫نیست‬‫و‬‫اصوال‬‫ای‬‫ر‬‫دا‬‫چنین‬‫کارکردی‬‫نیست‬.
19
‫عملکرد‬: NameNode Secondary
NameNode Secondary‫ت‬‫ر‬‫بصو‬‫مداوم‬‫در‬‫‌های‬‫ب‬‫تناو‬‫ی‬ ‫مشخص‬‫تمام‬‌‫م‬‫سیست‬‫فایل‬‫و‬‫‌ها‬‫ه‬‫متاداد‬،‫ا‬‫ر‬‫از‬‫حافظه‬‫اصلی‬
‫مربوط‬‫به‬NameNode‫خوانده‬‫و‬‫آنها‬‫ا‬‫ر‬‫در‬‌‫ک‬‫دیس‬‫محلی‬‫خود‬‫ذخیره‬‫‌کند‬‫ی‬‫م‬.
NameNode Secondary‫در‬‫فواصل‬‫مانی‬‫ز‬‫مشخص‬EditLog‫ها‬‫ا‬‫ر‬‫از‬NameNode‫دانلود‬‫کرده‬‫و‬‫با‬‫فایل‬
FsImage‫هم‬‫ر‬‫د‬‫‌آمیزد‬‫ی‬‫م‬.FsImage‫جدید‬‫به‬‫ه‬‫ر‬‫دوبا‬‫به‬NameNode‫کپی‬‫شده‬‫و‬‫در‬‌‫ی‬‫‌انداز‬‫ه‬‫ا‬‫ر‬‫بعدی‬‫هر‬‫مان‬‫ز‬‫که‬
NameNode‫ع‬‫و‬‫شر‬‫به‬‫فعالیت‬،‫کند‬‫این‬‫فایل‬‫به‬‫عنوان‬‫فضای‬‫نام‬‫سیستم‬‫فایل‬‫د‬‫ر‬‫مو‬‫استفاده‬‫ار‬‫ر‬‫ق‬‫‌گیرد‬‫ی‬‫م‬.
‫از‬،‫اینرو‬NameNode Secondary‫ت‬‫ر‬‫بصو‬‫منظم‬‫در‬‫سیستم‬‫فایل‬checkpoint‫هایی‬‫ا‬‫ر‬‫ا‬‫ر‬‫اج‬‫‌کند‬‫ی‬‫م‬.‫به‬‫همین‬،‫دلیل‬‫به‬
‫این‬‫گره‬CheckpointNode‫هم‬‫اطالق‬‫‌شود‬‫ی‬‫م‬.
20
‫بالک‬:
‫‌ها‬‫ک‬‫بال‬‫‌ترین‬‫ک‬‫کوچ‬‫واحد‬‌‫ی‬‫‌ساز‬‫ه‬‫ذخیر‬‫‌ها‬‫ه‬‫داد‬‫در‬HDFS‫هستند‬.‌‫ر‬‫بطو‬‫کلی‬‫در‬‫هر‬‫سیستم‬،‫فایلی‬‫‌ها‬‫ه‬‫داد‬‫ت‬‫ر‬‫بصو‬‫‌هایی‬‫ع‬‫مجمو‬
‫از‬‫‌ها‬‫ک‬‫بال‬‫ذخیره‬‫‌شوند‬‫ی‬‫م‬.‫ت‬‫ر‬‫بصو‬،‫مشابه‬HDSF‫هر‬‫فایل‬‫ا‬‫ر‬‫ت‬‫ر‬‫بصو‬‫‌ها‬‫ک‬‫بال‬‫ذخیره‬‫‌کند‬‫ی‬‫م‬‫که‬‫این‬‫‌ها‬‫ک‬‫بال‬‫در‬‫میان‬‫خوشه‬
‫آپاچی‬‫هدوپ‬‫ت‬‫ر‬‫بصو‬‫اکنده‬‫ر‬‫پ‬‫ذخیره‬‫‌شوند‬‫ی‬‫م‬.‫ه‬‫ز‬‫اندا‬‫‌فرض‬‫ش‬‫پی‬‫هر‬‫بالک‬‫در‬‫آپاچی‬‫هدوپ‬‫نسخه‬۲٫x،۱۲۸‫مگابایت‬(‫در‬‫آپاچی‬
‫هدوپ‬‫نسخه‬۱٫64x‫مگابایت‬)‫است‬‫که‬‫‌توان‬‫ی‬‫م‬‫بر‬‫اساس‬،‫نیاز‬‫این‬‫پیکربندی‬‫ا‬‫ر‬‫تغییر‬‫داد‬.
21
‫نکته‬:
‫در‬HDSF‫می‬‫و‬‫لز‬‫د‬‫ر‬‫ندا‬‫ه‬‫ز‬‫اندا‬‫هر‬‫فایل‬‫ت‬‫ر‬‫بصو‬‫مضرب‬‫دقیقی‬‫از‬‫ه‬‫ز‬‫اندا‬‫بالک‬‫پیکربندی‬،‫شده‬‫وجود‬‫داشته‬‫ب‬‫اشد‬
(۱۲۸،‫مگابایت‬۲۵۶‫مگابایت‬‫و‬‫غیره‬).‫ای‬‫ر‬‫ب‬‫مثال‬‫در‬‫شکل‬‫باال‬‫فایل‬«example.txt»‫با‬‫ه‬‫ز‬‫اندا‬۵۱۴‫مگابایت‬‫وجود‬
‫د‬‫ر‬‫دا‬.‫فرض‬‫کنید‬‫که‬‫ه‬‫ز‬‫اندا‬‫پیکربندی‬‫پیش‬‫فرض‬‫‌ها‬‫ک‬‫بال‬۱۲۸‫مگابایت‬‫است‬.‫در‬‫ت‬‫ر‬‫اینصو‬۵‫بالک‬‫ای‬‫ر‬‫ب‬‌‫ی‬‫‌ساز‬‫ه‬‫ذخیر‬
‫این‬‫فایل‬‫ایجاد‬‫‌شود‬‫ی‬‫م‬.‫چهار‬‫بالک‬‌‫ل‬‫او‬۱۲۸‫مگابایت‬‫و‬‫آخرین‬‫بالک‬۲‫مگابایت‬‫است‬.
22
‫ه‬‫ز‬‫اندا‬‫بودن‬‫گ‬‫ر‬‫بز‬‫ها‬‫بالک‬:
‫یکی‬‫از‬‫دالیل‬‫اصلی‬‫اینکه‬‫ه‬‫ز‬‫اندا‬‫‌ها‬‫ک‬‫بال‬‫در‬‫سیستم‬‫فایل‬HDFS‫گ‬‫ر‬‫بز‬‫است‬‫این‬‫است‬‫که‬‫از‬HDFS‫معموال‬‫ای‬‫ر‬‫ب‬‌‫ی‬‫‌ساز‬‫ه‬‫ذخیر‬
‫مجموعه‬‫‌های‬‫ه‬‫داد‬‫گ‬‫ر‬‫بز‬‫در‬‫مقیاس‬‫ابایت‬‫ر‬‫ت‬‫و‬‫پتابایت‬‫استفاده‬‫‌شود‬‫ی‬‫م‬.‫این‬‫ر‬‫بناب‬‫اگر‬‫ه‬‫ز‬‫اندا‬‫بالک‬‫ا‬‫ر‬‫ای‬‫ر‬‫ب‬‫مثال‬۴‫کیلوبایت‬‫نظر‬‫ر‬‫د‬
‫بگیریم‬(‫نظیر‬‫ه‬‫ز‬‫اندا‬‫‌ها‬‫ک‬‫بال‬‫در‬‫سیستم‬‫فایل‬‫در‬‫لینوکس‬)،‫تعداد‬‫‌ها‬‫ک‬‫بال‬‫بسیار‬‫یاد‬‫ز‬‫‌شود‬‫ی‬‫م‬‫و‬‫این‬‫ر‬‫بناب‬‫متاد‬‫‌های‬‫ه‬‫اد‬‫مربوط‬‫به‬
‫‌ها‬‫ک‬‫بال‬‫هم‬‫بسیار‬‫ایش‬‫ز‬‫اف‬‫‌یابند‬‫ی‬‫م‬.‫در‬‫ت‬‫ر‬‫اینصو‬‫مدیریت‬‫این‬‫تعداد‬‫یاد‬‫ز‬‫از‬‫‌ها‬‫ک‬‫بال‬‫و‬‫‌های‬‫ه‬‫متاداد‬‫‌ها‬‫ن‬‫آ‬‫باعث‬‫ایجاد‬‌‫س‬‌‫ربار‬‫یادی‬‫ز‬
‫در‬‫سیستم‬‫‌شود‬‫ی‬‫م‬‫و‬‫این‬‌
‫ا‬
‫اصال‬‫مطلوب‬‫نیست‬.
23
‫یت‬‫ر‬‫مدی‬‫ها‬‫ار‬‫ر‬‫تک‬:
HDSF‫اهی‬‫ر‬‫مطمئن‬‫جهت‬‫ذخیره‬‫حجم‬‫یادی‬‫ز‬‫از‬‫‌ها‬‫ه‬‫داد‬‫در‬‫محیطی‬‫یع‬‫ز‬‫تو‬،‫شده‬‫از‬‫طریق‬‫تقسیم‬‫‌ها‬‫ه‬‫داد‬‫به‬‫بالک‬‫‌ها‬‫ه‬‫داد‬‫اهم‬‫ر‬‫ف‬‫می‬‫‌کند‬.
‫جهت‬‌‫م‬‫اه‬‫ر‬‫ف‬‫دن‬‫ر‬‫آو‬‫قابلیت‬‌‫ی‬‫‌پذیر‬‫ل‬‫تحم‬‫در‬‫ابر‬‫ر‬‫ب‬،‫خطا‬‫این‬‫‌ها‬‫ک‬‫بال‬‫در‬‫چندین‬‫گره‬‫از‬‫خوشه‬‫کپی‬‫‌شوند‬‫ی‬‫م‬.‫ضریب‬‫ار‬‫ر‬‫تک‬‫پیش‬‫فرض‬‫در‬
HDFS،۳‫است‬.‫البته‬‫ان‬‫ز‬‫می‬‫تعداد‬‫‌ها‬‫ر‬‫ا‬‫ر‬‫تک‬‫قابل‬‫پیکربندی‬‫است‬.،‫این‬‫ر‬‫بناب‬‌‫ر‬‫همانطو‬‫که‬‫در‬‫تصویر‬‫یر‬‫ز‬‫هم‬‫مشخص‬‫است‬‫هر‬‫بالک‬‫سه‬
‫بار‬‫بر‬‫ی‬‫و‬‫ر‬‌‫ی‬‫‌ها‬‫ه‬‫گر‬Slave‫مختلف‬‫ذخیره‬‫شده‬‫است‬(‫با‬‫نظر‬‫ر‬‫د‬‫گرفتن‬‫ضریب‬‫‌فرض‬‫ش‬‫پی‬).
24
‫این‬‫ر‬‫بناب‬‫در‬‫ت‬‫ر‬‫صو‬‫ذخیره‬‫یک‬‫فایل‬۱۲۸‫مگابایتی‬‫در‬HDSF‫با‬‫استفاده‬‫از‬‫ضریب‬،‫‌فرض‬‫ش‬‫پی‬‫فضایی‬‫به‬‫ان‬‫ز‬‫می‬
۳۸۴‫مگابایت‬(۳*۱۲۸‫مگابایت‬)‫اشغال‬‫خواهد‬‫شد؛‬‫ا‬‫ر‬‫ی‬‫ز‬‫‌ها‬‫ک‬‫بال‬‫سه‬‫بار‬‫کپی‬‫شده‬‫و‬‫هر‬‫کپی‬‫در‬DataNode‫متفاوتی‬
‫ساکن‬‫‌شود‬‫ی‬‫م‬.
‫یس‬‫و‬‫سر‬NameNode‌‫ر‬‫بطو‬‫متناوب‬‫ی‬ ‫ش‬‫ر‬‫ا‬‫ز‬‫گ‬‫از‬‫تعداد‬‫‌ها‬‫ک‬‫بال‬‫از‬‫‌های‬‫س‬‫ی‬‫و‬‫سر‬DataNode‫جهت‬‌‫ی‬‫نگهدار‬‫از‬
‫ضریب‬‫ار‬‫ر‬‫تک‬‫یافت‬‫ر‬‫د‬‫‌کند‬‫ی‬‫م‬.‫این‬‫ر‬‫بناب‬‫هر‬‫مان‬‫ز‬‫بالکی‬‫ای‬‫ر‬‫دا‬‫تعداد‬‫ار‬‫ر‬‫تک‬‫بیشتر‬‫یا‬‫کمتر‬‫از‬‫ضریب‬‫ار‬‫ر‬‫تک‬‫ب‬،‫اشد‬
NameNode‫در‬‫ت‬‫ر‬‫صو‬‫نیاز‬‫این‬‫ها‬‫ر‬‫ا‬‫ر‬‫تک‬‫ا‬‫ر‬‫پاک‬‫و‬‫یا‬‫اضافه‬‫‌کند‬‫ی‬‫م‬.
25
‫از‬‫آگاهی‬‫ویژگی‬‫رک‬:
‫به‬‌‫ر‬‫منظو‬‫ایش‬‫ز‬‫اف‬‫قابلیت‬‌‫ی‬‫‌پذیر‬‫ل‬‫تحم‬‫در‬‫ابر‬‫ر‬‫ب‬،‫خطا‬‫یس‬‫و‬‫سر‬NameNode‫اطمینان‬‫‌یابد‬‫ی‬‫م‬‫که‬‫تمام‬‫ها‬‫ر‬‫ا‬‫ر‬‫تک‬‫بر‬‫ی‬‫و‬‫ر‬‫یک‬‫گره‬‫و‬
‫یا‬‫یک‬‫رک‬‫یکسان‬‫ذخیره‬‫نشوند‬.‫این‬‫یس‬‫و‬‫سر‬‫از‬‫یتم‬‫ر‬‫الگو‬‫آگاهی‬‫از‬،‫رک‬‫ای‬‫ر‬‫ب‬‫کاهش‬‫تأخیر‬‫و‬‫همچنین‬‫ایش‬‫ز‬‫اف‬‫‌پذی‬‫ل‬‫تحم‬‌‫ی‬‫ر‬‫در‬‫خطا‬
‫استفاده‬‫‌کند‬‫ی‬‫م‬.
26
‫مثال‬:‫با‬‫نظر‬‫ر‬‫د‬‫گرفتن‬‫ضریب‬‫ار‬‫ر‬‫تک‬2،‫یتم‬‫ر‬‫الگو‬‫آگاهی‬‫از‬‫رک‬‫بدین‬‫ت‬‫ر‬‫صو‬‫عمل‬‫‌کند‬‫ی‬‫م‬‫که‬‫اولین‬‫ار‬‫ر‬‫تک‬‫از‬‫یک‬‫بالک‬‫ا‬‫ر‬‫بر‬‫ی‬‫و‬‫ر‬‫همان‬
‫گره‬‫در‬‫رک‬‫محلی‬‫ذخیره‬‫‌شود‬‫ی‬‫م‬‫و‬‫دو‬‫ار‬‫ر‬‫تک‬‫بعدی‬‫در‬‫رک‬‫متفاوتی‬‫و‬‫ی‬‫و‬‫بر‬‫گرههای‬‫متفاوتی‬‫همانند‬‫تصویر‬‫به‬‫و‬‫ر‬‌‫و‬‫ر‬‫ذخ‬‫یره‬‫‌شوند‬‫ی‬‫م‬.
‫در‬‫ت‬‫ر‬‫صو‬‫وجود‬‫های‬‫ر‬‫ا‬‫ر‬‫تک‬،‫بیشتر‬‫بقیه‬‫‌ها‬‫ن‬‫آ‬‫بر‬‫ی‬‫و‬‫ر‬‫‌های‬‫ه‬‫گر‬‫تصادفی‬‫ار‬‫ر‬‫ق‬‫‌گیرند‬‫ی‬‫م‬‫به‬‫شرط‬‫آنکه‬‫در‬‫ت‬‫ر‬‫صو‬‫امکان‬‫بیشتر‬‫از‬‫دو‬
‫بالک‬‫ی‬‫و‬‫بر‬‫یک‬‫رک‬‫یکسان‬‫ار‬‫ر‬‫ق‬‫نگیرند‬.
27
‫رک‬‫از‬‫آگاهی‬‫های‬‫یت‬‫ز‬‫م‬:
‫دالیل‬‫یر‬‫ز‬‫ا‬‫ر‬‫‌توان‬‫ی‬‫م‬‫به‬‫عنوان‬‫‌های‬‫ت‬‫مزی‬‫استفاده‬‫از‬‫قابلیت‬‫آگاهی‬‫از‬‫رک‬‫در‬
‫خوشه‬‫هدوپ‬‫برشمرد‬:
‫ی‬‫جلوگیر‬‫از‬‫دست‬‫فتن‬‫ر‬‫ها‬‫داده‬
‫بهبود‬‫عملکرد‬‫شبکه‬:‫تباط‬‫ر‬‫ا‬‫بین‬‫‌های‬‫ه‬‫گر‬‫مستقر‬‫در‬‫‌های‬‫ک‬‫ر‬‫مختل‬‫ف‬‫در‬‫یک‬
‫خوشه‬‫بوسیله‬‫سوئیچ‬‫هدایت‬‫‌شود‬‫ی‬‫م‬.‌‫ر‬‫بطو‬،‫کل‬‫پهنای‬‫باند‬‫بیشت‬‌‫ی‬‫ر‬‫بین‬
‫‌های‬‫ن‬‫ماشی‬‫موجود‬‫در‬‫یک‬‫رک‬‫نسبت‬‫به‬‫‌های‬‫ن‬‫ماشی‬‫موجود‬‫بین‬‫‌های‬‫ک‬‫ر‬
‫مختلف‬‫وجود‬‫د‬‫ر‬‫دا‬.،‫این‬‫ر‬‫بناب‬‫آگاهی‬‫از‬‫رک‬‫کمک‬‫‌کند‬‫ی‬‫م‬‫تا‬‫افیک‬‫ر‬‫ت‬‫نوش‬‫تن‬‫در‬
‫بین‬‫‌های‬‫ک‬‫ر‬‫مختلف‬‫کاهش‬‫یافته‬‫و‬‫موجب‬‫‌شدن‬‫م‬‫اه‬‫ر‬‫ف‬‫عملکرد‬‌‫ر‬‫نوشتا‬‌‫ی‬
‌‫ی‬‫بهتر‬‫در‬‫سطح‬‫خوشه‬‫گردد‬.‫از‬‫طرفی‬‫عملکرد‬‫خواندن‬‫هم‬‫به‬‫دلیل‬‫است‬‫فاده‬‫از‬
‫پهنای‬‫باند‬‫چندین‬،‫رک‬‫ایش‬‫ز‬‫اف‬‫‌یابد‬‫ی‬‫م‬.
28
‫خواندن‬‫ی‬‫معمار‬/‫در‬‫نوشتن‬HDSF:
HDSF‫از‬‫فلسفه‬“‫یکبار‬‫نوشتن‬‫و‬‫خواندن‬‫یاد‬‫ز‬”‫پیروی‬‫‌کند‬‫ی‬‫م‬.‫این‬‫ر‬‫بناب‬‫‌های‬‫ل‬‫فای‬‫از‬‫قبل‬‫ذخیره‬‫شده‬‫در‬HDSF‫قابل‬‫ایش‬‫ر‬‫وی‬‫نیستند‬.‫اما‬
‫‌توان‬‫ی‬‫م‬‫با‬‫بازکردن‬‫مجدد‬،‫فایل‬‫‌های‬‫ه‬‫داد‬‫جدیدی‬‫به‬‫آن‬‫اضافه‬‫کرد‬.‌‫ر‬‫بطو‬‫کلی‬‫ال‬‫و‬‫ر‬‫یر‬‫ز‬‫ا‬‫ر‬‫‌توان‬‫ی‬‫م‬‫ای‬‫ر‬‫ب‬‫نوشتن‬‫‌ها‬‫ه‬‫داد‬‫در‬‫نظر‬‌‫گر‬‫فت‬.
29
‫فرض‬‫کنید‬‫در‬‫موقعیتی‬‫هستیم‬‫که‬‫در‬‫آن‬‫کالینت‬HDSF‫خواهان‬‫نوشتن‬‫فایلی‬‫با‬‫نام‬example.txt‫با‬‫ه‬‫ز‬‫اندا‬۲۴۸
‫مگابایت‬‫است‬.
29
‌‫ر‬‫تصو‬‫کنید‬‫که‬‫ه‬‫ز‬‫اندا‬‫بالک‬‫سیستم‬‫ت‬‫ر‬‫بصو‬۱۲۸‫مگابایت‬(‫‌فرض‬‫ش‬‫پی‬)‫پیکربندی‬‫شده‬‫است‬.‫در‬‫این‬‫ت‬‫ر‬‫صو‬
‫فایل‬‫ت‬‫ر‬‫بصو‬‫دو‬‫بالک‬‫یعنی‬‫بالک‬A‫با‬‫ه‬‫ز‬‫اندا‬۱۲۸‫مگابایت‬‫و‬‫بالک‬B‫با‬‫ه‬‫ز‬‫اندا‬۱۲۰‫مگابایت‬‫تقسیم‬‫‌شود‬‫ی‬‫م‬.
‫مراحل‬‫یر‬‫ز‬‫در‬‫مان‬‫ز‬‫نوشتن‬‫ها‬‫داده‬‫در‬HDSF‫اجرا‬‫خواهد‬‫شد‬:
.1‫کالینت‬HDSF‫ای‬‫ر‬‫ب‬‫خواست‬‫ر‬‫د‬‫نوشتن‬‫دو‬‫بالک‬‫یعنی‬‫‌های‬‫ک‬‫بال‬A‫و‬B‫به‬NameNode‫خواست‬‫ر‬‫د‬‫‌دهد‬‫ی‬‫م‬.
.2Name Node‫به‬‫کالینت‬‫ه‬‫ز‬‫اجا‬‫نوشتن‬‫داده‬‫و‬‫‌های‬‫س‬‫ر‬‫آد‬IP DataNode‫ها‬)‫یعنی‬‫جایی‬‫که‬‫‌های‬‫ک‬‫بال‬‫فایل‬‫در‬‫آنجا‬‫نوشته‬‫‌شوند‬‫ی‬‫م‬(
‫ا‬‫ر‬‫اهم‬‫ر‬‫ف‬‫‌کند‬‫ی‬‫م‬.
.3‫انتخاب‬‫‌های‬‫س‬‫ر‬‫آد‬IP‫‌های‬‫ه‬‫گر‬DataNode‫ها‬‫بر‬‫اساس‬‫در‬‫دسترس‬،‫بودن‬‫ضریب‬‫ار‬‫ر‬‫تک‬‫و‬‫آگاهی‬‫از‬‫رک‬‫اتفاق‬‫‌افتد‬‫ی‬‫م‬.
.4‫حال‬‫در‬‫این‬‫مرحله‬‌‫ر‬‫تصو‬‫کنید‬‫که‬‫ضریب‬‫ار‬‫ر‬‫تک‬۳‫تعیین‬‫شده‬‫است‬.‫این‬‫ر‬‫بناب‬NameNode‫ای‬‫ر‬‫ب‬،‫کالینت‬‫فهرستی‬‫از‬۳‫س‬‫ر‬‫آد‬IP
‫مربوط‬‫به‬DataNode‫ها‬‫ا‬‫ر‬‫ای‬‫ر‬‫ب‬‫هر‬‫بالک‬‫اهم‬‫ر‬‫ف‬‫‌کند‬‫ی‬‫م‬.‫این‬‫فهرست‬‫ای‬‫ر‬‫ب‬‫هر‬‫بالک‬‫‌فرد‬‫ه‬‫منحصرب‬‫است‬.
.5NameNode‫فهرستی‬‫از‬IP‫های‬‫یر‬‫ز‬‫ا‬‫ر‬‫ای‬‫ر‬‫ب‬‫کالینت‬‫اهم‬‫ر‬‫ف‬‫کرده‬‫است‬:
.1For Block A, list A = {IP of DataNode 1, IP of DataNode 4, IP of DataNode 6}
.2For Block B, set B = {IP of DataNode 3, IP of DataNode 7, IP of DataNode 9}
.6‫هر‬‫بالک‬‫در‬‫سه‬DataNode‫مختلف‬‫جهت‬‫حفظ‬‫ضریب‬‫ار‬‫ر‬‫تک‬‫کپی‬‫‌شود‬‫ی‬‫م‬‫تا‬‫ضریب‬‫ار‬‫ر‬‫تک‬‫در‬‫سرتاسر‬‫خوشه‬‫یکسان‬‫باقی‬‫ب‬‫ماند‬. 30
31
‫‌دهد‬‫ی‬‫‌ها‌در‌سه‌مرحله‌رخ‌م‬‫ه‬‫ش‌کپی‌داد‬‫ز‬‫حال‌کل‌پردا‬:
‫ایجاد‌خط‌لوله‬
‫ار‬‫ر‬‫‌ها‌و‌تک‬‫ه‬‫سال‌جریان‌داد‬‫ر‬‫ا‬
‌‫خاتمه‌دادن‌خط‌لوله‬(‌‫یافت‬‫ر‬‫د‬Ack‫صحت‌کپی‌داده‬)
32
‫خط‬‫ایجاد‬‫لوله‬:
‫قبل‬‫از‬‫نوشتن‬،‫‌ها‬‫ک‬‫بال‬‫کالینت‬‫ی‬ ‫س‬‫ر‬‫بر‬‫‌کند‬‫ی‬‫م‬‫که‬DataNode‫حاضر‬‫در‬‫هر‬‫کدام‬‫از‬‫فهرست‬IP‫ها‬‫آماده‬‫یافت‬‫ر‬‫د‬‫داده‬
‫باشند‬.‫در‬‫انجام‬‫این‬،‫کار‬‫کالینت‬‫یک‬‫خط‬‫لوله‬‫ای‬‫ر‬‫ب‬‫هرکدام‬‫از‬‫این‬‫‌ها‬‫ک‬‫بال‬‫ایجاد‬‫‌کند‬‫ی‬‫م‬‫که‬‫این‬‫کار‬‫بوسیله‬‫ت‬‫ر‬‫ا‬‫باط‬‫دادن‬
DataNode‫ها‬‫در‬‫فهرست‬‫مربوط‬‫به‬‫همان‬‫بالک‬‫انجام‬‫‌گیرد‬‫ی‬‫م‬.‫ای‬‫ر‬‫ب‬‫مثال‬‫اگر‬‫بالک‬A‫نظر‬‫ر‬‫د‬‫گرفته‬،‫شود‬‫فهرست‬
DataNode‫های‬‫اهم‬‫ر‬‫ف‬‫شده‬‫توسط‬NameNode‫بدین‬‫ت‬‫ر‬‫صو‬‫است‬:
For Block A, list A = {IP of DataNode 1, IP of DataNode 4, IP of DataNode 6}
33
‫این‬‫ر‬‫بناب‬‫ای‬‫ر‬‫ب‬‫بالک‬A،‫کالینت‬‫‌های‬‫م‬‫گا‬‫یر‬‫ز‬‫ا‬‫ر‬‫ای‬‫ر‬‫ب‬
‫ایجاد‬‫خط‬‫لوله‬‫ا‬‫ر‬‫اج‬‫‌کند‬‫ی‬‫م‬:
‫کالینت‬‫اولین‬DataNode‫ا‬‫ر‬‫در‬‫این‬‫فهرست‬
(IP‫های‬DataNode‫ای‬‫ر‬‫ب‬‫بالک‬A)‫انتخاب‬
‫‌کند‬‫ی‬‫م‬‫که‬DataNode 1‫است‬‫و‬‫یک‬‫تباط‬‫ر‬‫ا‬
TCP/IP‫شکل‬‫‌دهد‬‫ی‬‫م‬.
‫کالینت‬DataNode 1‫ا‬‫ر‬‫ای‬‫ر‬‫ب‬‫یافت‬‫ر‬‫د‬‫بالک‬‫آگا‬‫ه‬
‫‌کند‬‫ی‬‫م‬.‫همچنین‬IP‫های‬‫دو‬DataNode،‫بعدی‬
‫یعنی‬‫جاییکه‬‫این‬‫بالک‬‫ار‬‫ر‬‫ق‬‫است‬‫ار‬‫ر‬‫تک‬‫شون‬‫د‬‫ا‬‫ر‬‫هم‬
‫ای‬‫ر‬‫ب‬DataNode 1‫سال‬‫ر‬‫ا‬‫‌کند‬‫ی‬‫م‬.
34
35
DataNode 1‫با‬DataNode 4‫تباط‬‫ر‬‫ا‬‫ار‬‫ر‬‫برق‬‫‌کند‬‫ی‬‫م‬.
DataNode 1‫به‬DataNode 4‫اطالع‬‫‌دهد‬‫ی‬‫م‬‫تا‬‫آماده‬
‫یافت‬‫ر‬‫د‬‫این‬‫بالک‬‫بوده‬‫و‬IP DataNode 6‫ا‬‫ر‬‫نیز‬‫به‬‫آن‬
‫‌دهد‬‫ی‬‫م‬.‫سپس‬DataNode 4‫به‬DataNode 6‫اعالم‬
‫‌کند‬‫ی‬‫م‬‫ای‬‫ر‬‫ب‬‫یافت‬‫ر‬‫د‬‫‌ها‬‫ه‬‫داد‬‫آماده‬‫باشد‬.
‫مرحله‬،‫بعد‬‫مرحله‬‫سال‬‫ر‬‫ا‬Ack‫با‬‫توالی‬‫معکوس‬‫است‬‫یعنی‬‫از‬
DataNode 6‫تا‬۴‫و‬‫سپس‬۱٫
‫انجام‬‫ر‬‫س‬DataNode 1‫به‬‫کالینت‬‫اعالم‬‫‌کند‬‫ی‬‫م‬‫که‬‫تمام‬
DataNode‫ها‬‫آماده‬‫بوده‬‫و‬‫خط‬‫لوله‬‫بین‬،‫کالینت‬
DataNode 1،۴‫و‬۶‫ایجاد‬‫‌شود‬‫ی‬‫م‬.
‫کالینت‬‫و‬ ‫شده‬ ‫کامل‬‫لوله‬ ‫خط‬ ‫ایجاد‬‫کپی‬‫کند‬‫می‬‫آغاز‬‫ا‬‫ر‬ ‫ها‬‫داده‬ ‫جریان‬.
‫داده‬‫یان‬‫ر‬‫ج‬‫کپی‬:
‫در‬‫حالی‬‫که‬‫خط‬‫لوله‬‫ایجاد‬،‫‌شود‬‫ی‬‫م‬،‫کالینت‬‫‌ها‬‫ه‬‫داد‬‫ا‬‫ر‬‫به‬‫سمت‬‫خط‬‫لوله‬‫سال‬‫ر‬‫ا‬‫‌کند‬‫ی‬‫م‬.‫به‬‫یاد‬‫یم‬‫ر‬‫دا‬‫که‬‫در‬HDSF،‫‌ها‬‫ه‬‫داد‬
‫اساس‬‫ر‬‫ب‬‫ضریب‬،‫ار‬‫ر‬‫تک‬‫ایجاد‬‫‌شوند‬‫ی‬‫م‬.‫این‬‫ر‬‫بناب‬‫در‬‫اینجا‬‫بالک‬A‫در‬‫سه‬DataNode‫ذخیره‬‫‌شود‬‫ی‬‫م‬.‫ذکر‬‫این‬‫نکته‬‫حایز‬
‫اهمیت‬‫است‬‫که‬،‫کالینت‬‫بالک‬A‫ا‬‫ر‬‫فقط‬‫به‬DataNode 1‫سال‬‫ر‬‫ا‬‫‌کند‬‫ی‬‫م‬.‫کپی‬‫‌ها‬‫ه‬‫داد‬‫ای‬‫ر‬‫ب‬‫سیدن‬‫ر‬‫به‬‫تعداد‬‫‌های‬‫ر‬‫ا‬‫ر‬‫تک‬‫بالک‬
‫همیشه‬‫ت‬‫ر‬‫بصو‬‫سریالی‬‫و‬‫بوسیله‬DataNode‫ها‬‫انجام‬‫‌شود‬‫ی‬‫م‬.
36
‫یو‬‫ر‬‫سنا‬:
37
‫‌های‬‫م‬‫گا‬‫یر‬‫ز‬‫در‬‫خالل‬‫ایجاد‬‫ها‬‫ر‬‫ا‬‫ر‬‫تک‬‫رخ‬‫‌دهد‬‫ی‬‫م‬:
‫مانیکه‬‫ز‬‫این‬‫بالک‬‫در‬DataNode 1‫توسط‬‫کالینت‬
‫نوشته‬،‫شد‬DataNode 1‫به‬DataNode 4
‫متصل‬‫‌شود‬‫ی‬‫م‬.
،‫سپس‬DataNode 1‫این‬‫بالک‬‫ا‬‫ر‬‫داخل‬‫خط‬‫لوله‬
‫سال‬‫ر‬‫ا‬‫‌کند‬‫ی‬‫م‬‫و‬‫‌ها‬‫ه‬‫داد‬‫در‬DataNode 4‫کپی‬
‫‌شوند‬‫ی‬‫م‬.
،‫سپس‬DataNode 4‫به‬DataNode 6‫متصل‬
‫شده‬‫و‬‫آخرین‬‫ار‬‫ر‬‫تک‬‫بالک‬‫ا‬‫ر‬‫کپی‬‫‌کند‬‫ی‬‫م‬.
‫سال‬‫ر‬‫ا‬‫مرحله‬‫یا‬‫لوله‬‫خط‬‫کار‬‫پایان‬Ack:
‫مانیکه‬‫ز‬‫این‬‫بالک‬‫به‬‫تمام‬‫سه‬DataNode‫کپی‬،‫شد‬‫در‬‫هر‬‫گره‬‫یک‬Ack‫ای‬‫ر‬‫ب‬‌‫ل‬‫حصو‬‫اطمینان‬‫کالینت‬
‫و‬NameNode‫از‬‫اینکه‬‫‌ها‬‫ه‬‫داد‬‫به‬‫ت‬‫ر‬‫صو‬‫‌آمیز‬‫ت‬‫موفقی‬‫نوشته‬،‫‌اند‬‫ه‬‫شد‬‫شکل‬‫‌گیرد‬‫ی‬‫م‬.‫پس‬‫از‬‫یافت‬‫ر‬‫د‬Ack،‫کالینت‬
‫خط‬‫لوله‬‫ا‬‫ر‬‫بسته‬‫و‬‫جلسه‬TCP‫خاتمه‬‫‌یابد‬‫ی‬‫م‬.
38
‫سال‬‫ر‬‫ا‬Ack‫ت‬‫ر‬‫بصو‬‫توالی‬‫معکوس‬‫رخ‬
‫‌دهد‬‫ی‬‫م‬‫یعنی‬‫از‬DataNode 6‫به‬۴‫و‬
‫سپس‬DataNode1‫انجام‬‫ر‬‫س‬DataN
ode1‫،سه‬)Ack‫شامل‬‫خودش‬)‫ا‬‫ر‬
‫خط‬‫ر‬‫د‬‫لوله‬‫منتقل‬‫‌کند‬‫ی‬‫م‬‫و‬‫به‬‫کالی‬‫نت‬
‫سال‬‫ر‬‫ا‬‫‌کند‬‫ی‬‫م‬.‫کالینت‬‫نیز‬‫نهایت‬‫ر‬‫د‬‫به‬
NameNode‫اطالع‬‫‌دهد‬‫ی‬‫م‬‫که‬
‫‌ها‬‫ه‬‫داد‬‫ت‬‫ر‬‫بصو‬‫‌آمیز‬‫ت‬‫موفقی‬‫نوشته‬
‫‌اند‬‫ه‬‫شد‬.NameNode،‫‌های‬‫ه‬‫متاداد‬
‫خود‬‫ا‬‫ر‬‫ز‬‫و‬‫بر‬‫سانی‬‫ر‬‫کرده‬‫و‬‫کالینت‬‫خط‬
‫لوله‬‫ا‬‫ر‬‫پایان‬‫‌دهد‬‫ی‬‫م‬. 39
‌‫ر‬‫بطو‬،‫مشابه‬‫بالک‬B‫ت‬‫ر‬‫بصو‬‌‫ی‬‫مواز‬‫با‬‫بالک‬A‫در‬DataNode‫های‬‫مربوطه‬‫کپی‬‫‌شود‬‫ی‬‫م‬.‫این‬‫ر‬‫بناب‬‫د‬‫ر‬‫موا‬‫یر‬‫ز‬‫هم‬‫باید‬
‫نظر‬‫ر‬‫د‬‫گرفته‬‫شوند‬:
‫کالینت‬‫بالک‬A‫و‬‫بالک‬B‫ا‬‫ر‬‫به‬‫ت‬‫ر‬‫صو‬‫همزمان‬‫به‬‫اولین‬DataNode‫سال‬‫ر‬‫ا‬‫‌کند‬‫ی‬‫م‬.
‫دو‬‫خط‬‫لوله‬‫ای‬‫ر‬‫ب‬‫هرکدام‬‫از‬‫‌ها‬‫ک‬‫بال‬‫تشکیل‬‫شده‬‫و‬‫تمام‬‫‌های‬‫ش‬‫ز‬‫پردا‬‫توضیح‬‫داده‬‫شده‬‫در‬‫باال‬‫ت‬‫ر‬‫بصو‬‌‫ی‬‫مواز‬‫ای‬‫ر‬‫ب‬‫هر‬
‫دو‬‫خط‬‫لوله‬‫رخ‬‫‌دهد‬‫ی‬‫م‬.
‫کالینت‬‫این‬‫‌ها‬‫ک‬‫بال‬‫ا‬‫ر‬‫در‬‫داخل‬‫اولین‬DataNode‫نوشته‬‫و‬‫سپس‬DataNode‫ها‬‫به‬‫ت‬‫ر‬‫صو‬‫متوالی‬‫‌ها‬‫ه‬‫داد‬‫ا‬‫ر‬‫در‬
‫‌های‬‫ه‬‫گر‬‫دیگر‬‫کپی‬‫‌کنند‬‫ی‬‫م‬.
40
‌‫ای‌هر‌بالک‌دو‌خط‌لوله‬‫ر‬‫ب‬B‫و‬A‌‫ایجاد‬‫شده‌است‬.‌‫‌ها‌به‌ترتیب‬‫ک‬‫ای‌هر‌کدام‌از‌بال‬‫ر‬‫ا،‌ب‬‫ر‬‫یر،‌جریان‌عملیات‌در‌حال‌اج‬‫ز‬‌‫در‬
‫د‬‫ر‬‫خطوط‌لوله‌وجود‌دا‬:
A: 1A -> 2A -> 3A -> 4A
B: 1B -> 2B -> 3B -> 4B -> 5B -> 6B
41
‫خواندن‬‫ی‬‫معمار‬HDSF:
.1‫کالینت‬‫به‬NameNode‫ی‬ ‫دسترس‬‫پیدا‬‫کرده‬‫و‬‫خواست‬‫ر‬‫د‬‫متاداده‬
‫‌های‬‫ک‬‫بال‬‫فایل‬example.txt‫ا‬‫ر‬‫ای‬‫ر‬‫ب‬‫آن‬‫سال‬‫ر‬‫ا‬‫‌کند‬‫ی‬‫م‬.
.2NameNode‫فهرست‬DataNode‫ها‬‫یعنی‬‫جایی‬‫که‬‫هر‬‫بالک‬
(‫بالک‬A‫و‬B)‫ذخیره‬‫‌اند‬‫ه‬‫شد‬‫ا‬‫ر‬‫‌گرداند‬‫ی‬‫برم‬.
.3‫بعد‬‫از‬،‫آن‬‫کالینت‬‫به‬DataNode‫ها‬‫جایی‬‫که‬‫‌ها‬‫ک‬‫بال‬‫ذخیره‬
،‫‌اند‬‫ه‬‫شد‬‫متصل‬‫‌شود‬‫ی‬‫م‬.
.4‫کالینت‬‫ع‬‫و‬‫شر‬‫به‬‫خواندن‬‫‌های‬‫ه‬‫داد‬‌‫ی‬‫مواز‬‫از‬DataNode‫ها‬(‫بالک‬
A‫از‬DataNode 1‫و‬‫بالک‬B‫از‬DataNode 3(‫‌کند‬‫ی‬‫م‬.
.5‫مانیکه‬‫ز‬‫کالینت‬‫تمامی‬‫‌های‬‫ک‬‫بال‬‫فایلی‬‫د‬‫ر‬‫مو‬‫نیاز‬‫ا‬‫ر‬‫یافت‬‫ر‬‫د‬‫ک‬،‫رد‬‫این‬
‫‌ها‬‫ک‬‫بال‬‫ا‬‫ر‬‫به‬‫ترتیب‬‫به‬‫یکدیگر‬‫متصل‬‫کرده‬‫تا‬‫فایل‬‫اصلی‬‌‫ر‬‫ا‬‫ایجاد‬‫کند‬. 42
‫در‬‫هنگام‬‫سیدگی‬‫ر‬‫به‬‫خواست‬‫ر‬‫د‬‫خواندن‬‫توسط‬،‫کالینت‬HDSF‫‌ترین‬‫ک‬‫نزدی‬‫کپی‬‫داده‬‫به‬‫کالینت‬‫ا‬‫ر‬‫انتخاب‬‫‌کند‬‫ی‬‫م‬.‫این‬‫کار‬‫باعث‬‫کاهش‬‫مان‬‫ز‬
‫خوانده‬‫شدن‬‫و‬‫پهنای‬‫باند‬‫مصرفی‬‫‌شود‬‫ی‬‫م‬.‫این‬‫ر‬‫بناب‬‫در‬‫ت‬‫ر‬‫صو‬،‫امکان‬‫هایی‬‫ر‬‫ا‬‫ر‬‫تک‬‫از‬‫بالک‬‫‌ها‬‫ه‬‫داد‬‫انتخاب‬‫‌شود‬‫ی‬‫م‬‫که‬‫ی‬‫و‬‫بر‬‫رک‬‫یکس‬‫ان‬‫وجود‬‫داشته‬
‫باشند‬.‫در‬‫تصویر‬‫یر‬‫ز‬‫نیز‬‫ال‬‫و‬‫ر‬‫گردش‬‫کار‬‫خواندن‬‫‌ها‬‫ه‬‫داد‬‫از‬HDFS‫نشان‬‫داده‬‫شده‬‫است‬.
43
HDFS commands
44
45
Balancer
HDFS data might not always be be placed uniformly across the DataNode.
46
-policy <policy> datanode (default): Cluster is balanced if each
datanode is balanced.
blockpool: Cluster is balanced if each block pool in
each datanode is balanced.
-threshold <threshold> Percentage of disk capacity.
-exclude -f <hosts-file> | <comma-separated list of
hosts>
Excludes the specified datanodes from being
balanced by the balancer.
-include -f <hosts-file> | <comma-separated list of
hosts>
Includes only the specified datanodes to be
balanced by the balancer.
-source -f <hosts-file> | <comma-separated list of
hosts>
Pick only the specified datanodes as source nodes.
-blockpools <comma-separated list of blockpool
ids>
The balancer will only run on blockpools included
in this list.
-h|--help Display the tool usage and help information and
exit.
47
Cache admin command-line interface
On the command-line, administrators and users can interact with cache pools and
directives via the hdfs cache admin subcommand.
48
 add Directive
 remove Directive
 list Directives
 add Pool
 modify Pool
 remove Pool
 list Pools
 help
49
crypto command-line interface
path The path of the encryption zone to create. It must be an
empty directory. A trash directory is provisioned under
this path.
keyName Name of the key to use for the encryption zone.
Uppercase key names are unsupported.
50
 Create a new encryption zone
 listZones:List all encryption zones. Requires superuser permissions.
 provisionTrash:Provision a trash directory for an encryption zone.
path The path to the root of the encryption zone.
Data node
COMMAND_OPTION Description
-regular Normal datanode startup (default).
-rollback Rollback the datanode to the previous version. This
should be used after stopping the datanode and
distributing the old hadoop version.
-rollingupgrade rollback Rollback a rolling upgrade operation.
51
Runs a HDFS datanode.
52
Haadmin: administer your HA(High
Availability) HDFS cluster.
COMMAND_OPTION Description
-checkHealth check the health of the given
NameNode
-getServiceState determine whether the given
NameNode is Active or Standby
-getAllServiceState returns the state of all the
NameNodes
-transitionToActive transition the state of the given
NameNode to Active.
-transitionToStandby transition the state of the given
NameNode to Standby .
-help [cmd] Displays help for the given
command or all commands if none
is specified. 53
54
55
dfsadmin
56
-printTopology Print a tree of the racks and their nodes as reported by
the Namenode
-refreshNamenodes datanodehost:port For the given datanode, reloads the configuration files,
stops serving the removed block-pools and starts
serving new block-pools.
-getVolumeReport datanodehost:port For the given datanode, get the volume report.
-deleteBlockPool datanode-host:port blockpoolId
[force]
If force is passed, block pool directory for the given
blockpool id on the given datanode is deleted along
with its contents, otherwise the directory is deleted
only if it is empty. The command will fail if datanode is
still serving the block pool. Refer to refreshNamenodes
to shutdown a block pool service on a datanode.
dfsadmin
57
-refreshServiceAcl Reload the service-level authorization policy file.
-refreshUserToGroupsMappings Refresh user-to-groups mappings.
-refreshSuperUserGroupsConfiguration Refresh superuser proxy groups mappings
-refreshCallQueue Reload the call queue from config.
-reconfig <datanode |namenode> <host:ipc_port>
<start|status|properties>
Starts reconfiguration or gets the status of an
ongoing reconfiguration, or gets a list of
reconfigurable properties. The second parameter
specifies the node type.
58
storagepolicies
Hot - for both storage and compute. When a block is hot, all replicas are stored in DISK.
Cold - only for storage with limited compute. When a block is cold, all replicas are stored
in ARCHIVE.
Warm - partially hot and partially cold. When a block is warm, some of its replicas are
stored in DISK and the remaining replicas are stored in ARCHIVE.
All_SSD - for storing all replicas in SSD.
One_SSD - for storing one of the replicas in SSD. The remaining replicas are stored in DISK.
Lazy_Persist - for writing blocks with single replica in memory. The replica is first written
in RAM_DISK and then it is lazily persisted in DISK.
59
Storage Policy Commands
60
COMMAND_OPTION Description
hdfs storagepolicies –listPolicies List out all the storage policies.
hdfs storagepolicies -setStoragePolicy -path
<path> -policy <policy>
Set a storage policy to a file or a directory.
hdfs storagepolicies -unsetStoragePolicy -path
<path>
Unset a storage policy to a file or a
directory. After the unset command the
storage policy of the nearest ancestor will
apply, and if there is no policy on any
ancestor then the default storage policy will
apply.
hdfs storagepolicies -getStoragePolicy -path
<path>
Get the storage policy of a file or a
directory.
-path <path> The path referring to either a directory or a file.
-policy <policy> The name of the storage policy.

More Related Content

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

HDFS