SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
‫فایل‬ ‫سیستم‬HDFS
‫رضایی‬‫ناصر‬
nasser.rezaei.novin@gmail.com
‫مقدمه‬
•‫کامپ‬ ‫تعدادی‬ ‫روی‬ ‫را‬ ‫آن‬ ‫تا‬ ‫است‬ ‫نیاز‬ ‫شود‬ ‫می‬‫بیشتر‬‫کامپیوتر‬ ‫سازی‬ ‫ذخیره‬ ‫ظرفیت‬ ‫از‬ ‫دیتاست‬ ‫یک‬ ‫اندازه‬ ‫که‬ ‫وقتی‬‫یوتر‬(node)‫مجزا‬
‫کنیم‬ ‫قسمت‬.
•‫ش‬ ‫توزیع‬ ‫فایل‬ ‫سیستم‬ ‫کنند‬ ‫می‬ ‫مدیریت‬ ‫ها‬ ‫ماشین‬ ‫از‬ ‫ای‬ ‫شبکه‬ ‫روی‬ ‫را‬ ‫سازی‬ ‫ذخیره‬ ‫فضای‬ ‫که‬ ‫هایی‬ ‫فایل‬ ‫سیستم‬ ‫به‬‫گویند‬ ‫می‬ ‫ده‬.
•‫شده‬ ‫توزیع‬ ‫فایل‬ ‫سیستم‬Hadoop،HDFS‫دارد‬ ‫نام‬.
‫احی‬‫ر‬‫ط‬HDFS
•HDFS‫است‬ ‫شده‬ ‫احی‬‫ر‬‫ط‬‫زیر‬ ‫مقاصد‬ ‫ای‬‫ر‬‫ب‬:
•‫بزرگ‬ ‫خیلی‬ ‫های‬ ‫فایل‬:‫پتابایتی‬ ‫حتی‬ ‫یا‬ ‫ابایتی‬‫ر‬‫ت‬ ،‫گیگابایتی‬ ‫صدها‬ ‫های‬ ‫اندازه‬ ‫با‬ ‫هایی‬ ‫فایل‬.
•‫جریانی‬ ‫داده‬ ‫دسترسی‬:‫است‬ ‫نامحدود‬ ‫خواندن‬ ‫یکبار؛‬ ‫نوشتن‬ ‫الگوی‬ ،‫داده‬ ‫پردازش‬ ‫الگوی‬ ‫کاراترین‬.HDFS‫این‬ ‫از‬
‫پیش‬ ‫رکورد‬ ‫اولین‬ ‫خواندن‬ ‫ای‬‫ر‬‫ب‬ ‫که‬ ‫تاخیری‬ ‫از‬ ‫دیتاست‬ ‫تمام‬ ‫خواندن‬ ‫زمان‬ ‫این‬‫ر‬‫بناب‬ ،‫گیرد‬ ‫می‬ ‫الگو‬ ‫ایده‬‫تر‬ ‫مهم‬ ‫آید‬ ‫می‬
‫است‬.
•‫معمولی‬ ‫ار‬‫ز‬‫اف‬ ‫سخت‬:Hadoop‫ندارد‬ ‫ابی‬‫ر‬‫خ‬‫ابر‬‫ر‬‫ب‬ ‫در‬ ‫مقاومت‬ ‫با‬ ‫قیمت‬ ‫ان‬‫ر‬‫گ‬ ‫ارهای‬‫ز‬‫اف‬ ‫سخت‬ ‫به‬ ‫احتیاجی‬.HDFS‫به‬
‫های‬ ‫ابی‬‫ر‬‫خ‬ ‫مقابل‬ ‫در‬ ‫که‬ ‫است‬ ‫شده‬ ‫احی‬‫ر‬‫ط‬ ‫ای‬ ‫گونه‬node‫دهد‬ ‫ادامه‬ ‫را‬ ‫خود‬ ‫کار‬ ‫جزئی‬ ‫ای‬ ‫وقفه‬ ‫با‬‫حداکثر‬ ‫ها‬.
•HDFS‫نیست‬ ‫سازگار‬‫زیر‬ ‫موارد‬ ‫با‬:
•‫کم‬‫تاخیر‬ ‫با‬ ‫ها‬ ‫داده‬ ‫به‬ ‫دسترسی‬:‫خوبی‬ ‫به‬ ‫دارند‬ ‫کم‬‫تاخیر‬ ‫با‬ ‫دسترسی‬ ‫به‬ ‫نیاز‬ ‫که‬ ‫هایی‬ ‫اپلیکیشن‬‫با‬HDFS‫نمی‬ ‫کار‬
‫کنند‬.
•‫کوچک‬ ‫فایل‬ ‫زیاد‬ ‫تعداد‬:‫که‬ ‫جایی‬ ‫آن‬ ‫از‬namenode‫های‬ ‫فایل‬ ‫تعداد‬ ‫محدودیت‬ ‫شود‬ ‫می‬ ‫داری‬ ‫نگه‬ ‫اصلی‬ ‫حافظه‬ ‫در‬
‫حافظه‬ ‫ان‬‫ز‬‫می‬ ‫به‬ ‫سیستم‬namenode‫دارد‬ ‫بستگی‬.
•‫تصادفی‬ ‫صورت‬ ‫به‬ ‫ها‬ ‫فایل‬ ‫در‬‫تغییر‬ ‫نویسنده؛‬ ‫چند‬:‫در‬ ‫ها‬ ‫فایل‬HDFS‫شوند‬ ‫می‬ ‫نوشته‬ ‫منبع‬ ‫یک‬ ‫توسط‬.‫همیشه‬
‫شود‬ ‫می‬ ‫اضافه‬ ‫فایل‬ ‫انتهای‬ ‫به‬ ‫محتویات‬(Append.)‫کرد‬ ‫ایجاد‬ ‫ات‬‫ر‬‫تغیی‬ ‫فایل‬ ‫از‬ ‫خاصی‬ ‫آفست‬ ‫در‬ ‫توان‬ ‫نمی‬.
‫مفاهیم‬HDFS
•Block:‫است‬ ‫دیسک‬ ‫در‬ ‫نوشتن‬ ‫و‬ ‫خواندن‬ ‫واحد‬ ‫ترین‬ ‫کوچک‬ ‫بالک‬.‫معموال‬ ‫دیسک‬ ‫بالک‬512‫در‬ ‫است‬ ‫بایت‬
‫است‬ ‫دیسک‬ ‫بالک‬ ‫از‬ ‫ضریبی‬ ‫معموال‬ ‫فایل‬ ‫سیستم‬ ‫بالک‬ ‫که‬ ‫حالی‬.
•HDFS‫بزرگ‬ ‫اندازه‬ ‫با‬ ‫منتها‬ ‫دارد‬ ‫را‬ ‫بالک‬ ‫مفهوم‬ ‫هم‬128‫مگابایت‬(‫فرض‬ ‫پیش‬)‫در‬ ‫ها‬ ‫فایل‬ ،HDFS‫بالک‬ ‫اندازه‬ ‫به‬ ‫هایی‬ ‫قطعه‬ ‫در‬
‫شوند‬ ‫می‬ ‫ذخیره‬.‫کند‬ ‫نمی‬ ‫اشغال‬ ‫را‬ ‫آن‬ ‫تمام‬ ‫بالک‬ ‫از‬‫کمتر‬ ‫انداز‬ ‫با‬ ‫فایلی‬ ‫دیسکی‬ ‫تک‬ ‫فایل‬ ‫سیستم‬ ‫برخالف‬.‫ان‬‫این‬ ‫به‬ ‫بالک‬ ‫دازه‬
‫بال‬ ‫ابتدای‬ ‫به‬ ‫رسیدن‬ ‫زمان‬ ‫از‬‫بیشتر‬ ‫خیلی‬ ‫بایستی‬ ‫بالک‬ ‫تمام‬ ‫خواندن‬ ‫زمان‬ ‫که‬ ‫است‬ ‫بزرگ‬ ‫سیستم‬ ‫در‬ ‫دلیل‬‫باشد‬ ‫ک‬.
•‫محدودی‬ ‫تعداد‬ ‫در‬ ‫بالک‬‫هر‬ ،‫رود‬ ‫نمی‬ ‫بین‬ ‫از‬ ‫افزاری‬ ‫سخت‬ ‫های‬ ‫ابی‬‫ر‬‫خ‬ ‫در‬ ‫بالک‬ ‫اینکه‬ ‫از‬ ‫اطمینان‬ ‫ای‬‫ر‬‫ب‬(‫معموال‬3)‫مجزا‬ ‫ماشین‬
‫شود‬ ‫می‬ ‫کپی‬.
Namenode‫و‬Datanode
•:Namenode‫نام‬ ‫فضای‬(namespace)‫فای‬ ‫و‬ ‫ها‬ ‫کتوری‬‫دایر‬ ‫متادیتای‬ ‫و‬ ‫کند‬ ‫می‬ ‫مدیریت‬ ‫را‬ ‫فایل‬ ‫سیستم‬‫را‬ ‫ها‬ ‫ل‬
‫کند‬ ‫می‬ ‫داری‬ ‫نگه‬ ‫فایل‬ ‫سیستم‬ ‫در‬.
•‫قالب‬ ‫در‬ ‫محلی‬ ‫دیسک‬ ‫در‬ ‫دائمی‬ ‫صورت‬ ‫به‬ ‫اطالعات‬ ‫این‬2‫شوند‬ ‫می‬ ‫داری‬ ‫نگه‬ ‫فایل‬:namespace image‫و‬edit log‫همچنین‬ ،
namenode‫تمام‬datanode‫شناسد‬ ‫می‬ ‫را‬ ‫خاص‬ ‫فایل‬ ‫یک‬ ‫به‬ ‫مربوط‬ ‫های‬.
•Datanode:‫ش‬ ‫ذخیره‬ ‫های‬ ‫بالک‬ ‫گزارش‬ ‫ارائه‬ ‫و‬ ‫اخوانی‬‫ر‬‫ف‬ ‫هنگام‬ ‫در‬ ‫بالک‬ ‫بازیابی‬ ‫و‬ ‫داری‬ ‫نگه‬ ‫اش‬ ‫وظیفه‬‫در‬ ‫ده‬
‫به‬ ‫زمانی‬ ‫های‬ ‫فاصله‬namenode‫است‬.
‫از‬ ‫محافظت‬namenode
•‫بدون‬namenode‫گردد‬ ‫می‬ ‫بالاستفاده‬ ‫فایل‬ ‫سیستم‬.‫بایستی‬ ‫دلیل‬ ‫همین‬ ‫به‬namenode‫شدن‬ ‫اب‬‫ر‬‫خ‬ ‫از‬ ‫را‬
‫داشت‬ ‫برحذر‬.‫منظور‬ ‫بدین‬Hadoop‫کند‬ ‫می‬ ‫اهم‬‫ر‬‫ف‬ ‫را‬ ‫امکان‬ ‫دو‬:
•1-‫سیستم‬ ‫متادیتای‬ ‫از‬ ‫گیری‬ ‫پشتیبان‬:‫شود‬ ‫می‬ ‫ذخیره‬ ‫متفاوت‬ ‫فایل‬ ‫های‬ ‫سیستم‬ ‫در‬ ‫که‬.
•2-‫از‬ ‫استفاده‬namenode‫ثانویه‬:‫یک‬ ‫مثل‬ ‫نامش‬ ‫برخالف‬ ‫که‬namenode‫کند‬ ‫نمی‬ ‫عمل‬.‫تصویر‬ ‫ادغام‬ ‫آن‬ ‫اصلی‬ ‫وظیفه‬
namenode‫با‬edit log‫اندازه‬ ‫تا‬ ‫است‬edit log‫نشود‬ ‫بزرگ‬ ‫خیلی‬.Namenode‫شود‬ ‫می‬ ‫ساخته‬ ‫مجزایی‬ ‫ماشین‬ ‫روی‬ ‫ثانویه‬.
‫بالک‬ ‫کردن‬ ‫کش‬
•‫اصلی‬ ‫حافظه‬ ‫در‬ ‫را‬ ‫شوند‬ ‫می‬ ‫دسترسی‬ ‫زیاد‬ ‫که‬ ‫هایی‬ ‫بالک‬ ‫توان‬ ‫می‬datanode‫کرد‬ ‫ذخیره‬.
•‫تواند‬ ‫می‬ ‫کار‬ ‫زمانبند‬Task‫روی‬ ‫را‬ ‫ها‬datanode‫اند‬ ‫کرده‬ ‫کش‬ ‫را‬ ‫بالک‬ ‫که‬ ‫کند‬ ‫ا‬‫ر‬‫اج‬ ‫هایی‬.
•‫بگیرد‬ ‫اختیار‬ ‫در‬ ‫را‬ ‫منابع‬ ‫از‬ ‫استفاده‬ ‫و‬ ‫ها‬ ‫کش‬ ‫دسترسی‬ ‫مدیریت‬ ‫تواند‬ ‫می‬ ‫کش‬ ‫مخزن‬ ‫یک‬.
HDFS Federation‫و‬HA
•HDFS Federation:‫چند‬ ‫بزرگ‬ ‫خیلی‬ ‫کالسترهای‬ ‫در‬ ‫که‬ ‫دهد‬ ‫می‬ ‫را‬ ‫امکان‬ ‫این‬namenode‫هر‬ ‫و‬ ‫باشیم‬ ‫داشته‬
namenode‫بگیرد‬ ‫اختیار‬ ‫در‬ ‫را‬ ‫فایل‬ ‫سیستم‬ ‫نام‬ ‫فضای‬ ‫از‬ ‫قسمتی‬ ‫مدیریت‬.‫یکی‬ ‫مثال‬/user‫کتوری‬‫دایر‬ ‫و‬ ‫ها‬ ‫فایل‬ ‫و‬
‫دیگری‬ ‫و‬ ‫آن‬ ‫درون‬ ‫های‬/share
•HDFS High Availability (HA):‫متادیتای‬ ‫کردن‬ ‫کپی‬ ‫کیب‬‫تر‬namenode‫از‬ ‫استفاده‬ ‫و‬ ‫فایل‬ ‫سیستم‬ ‫چند‬ ‫روی‬
namenode‫ساخت‬ ‫ای‬‫ر‬‫ب‬ ‫ثانویه‬checkpoint‫دادن‬ ‫دست‬ ‫از‬‫ابر‬‫ر‬‫ب‬ ‫در‬ ‫را‬ ‫سیستم‬namenode‫کند‬ ‫می‬ ‫بیمه‬.‫اگر‬ ‫اما‬
namenode‫بازیابی‬ ‫در‬‫تاخیر‬ ‫دلیل‬ ‫به‬ ‫سیستم‬ ‫بیفتد‬ ‫کار‬ ‫از‬namenode(‫تا‬ ‫بزرگ‬ ‫های‬ ‫سیستم‬ ‫در‬ ‫که‬30‫یا‬ ‫دقیقه‬
‫ببرد‬ ‫زمان‬ ‫تواند‬ ‫می‬‫بیشتر‬)‫شود‬ ‫می‬ ‫روبرو‬ ‫بزرگی‬ ‫مشکل‬ ‫با‬.
•Hadoop‫کردن‬ ‫اضافه‬ ‫با‬ ‫را‬ ‫مشکل‬ ‫این‬HA‫جفت‬ ‫یک‬ ‫آن‬ ‫در‬ ‫که‬ ‫است‬ ‫کرده‬ ‫حل‬namenode‫فعال‬ ‫های‬ ‫حالت‬ ‫در‬-‫کار‬ ‫به‬ ‫آماده‬
‫دارند‬ ‫وجود‬.‫که‬ ‫وقتی‬namenode‫شد‬ ‫مشکل‬ ‫دچار‬ ‫فعال‬namenode‫شود‬ ‫می‬ ‫اندازی‬ ‫راه‬ ‫توجه‬ ‫قابل‬‫تاخیر‬ ‫بدون‬ ‫کار‬ ‫به‬ ‫آماده‬.
•‫اندازی‬ ‫راه‬ ‫ای‬‫ر‬‫ب‬HA‫است‬ ‫الزم‬‫زیر‬ ‫ات‬‫ر‬‫تغیی‬ ‫بعضی‬.
•Namenode‫اک‬‫ر‬‫اشت‬ ‫ای‬‫ر‬‫ب‬ ‫اکی‬‫ر‬‫اشت‬ ‫حافظه‬ ‫دارای‬ ‫باید‬edit log‫باشد‬.edit log‫آخرین‬ ‫بازیابی‬ ‫ای‬‫ر‬‫ب‬ ‫افتادگی‬ ‫کار‬ ‫از‬ ‫هنگام‬ ‫در‬
‫وضعیت‬namenode‫شود‬ ‫می‬ ‫استفاده‬ ‫اصلی‬.
•Datanode‫دو‬‫هر‬ ‫به‬ ‫را‬ ‫ها‬ ‫بالک‬ ‫ارش‬‫ز‬‫گ‬ ‫باید‬ ‫ها‬namenode‫بدهند‬.
•Client‫ابی‬‫ر‬‫خ‬ ‫بتوانند‬ ‫باید‬ ‫ها‬namenode‫کنند‬ ‫مدیریت‬ ‫را‬.
•‫اکی‬‫ر‬‫اشت‬ ‫حافظه‬ ‫ای‬‫ر‬‫ب‬ ‫انتخاب‬ ‫دو‬HA‫دارد‬ ‫وجود‬:1-NFS Filer2-QJM
‫کردن‬ ‫قرنطینه‬ ‫و‬ ‫تشخیص‬namenode‫معیوب‬
•Failover:‫یک‬job‫هر‬ ‫در‬ ‫کوچک‬namenode‫ابی‬‫ر‬‫خ‬ ‫تشخیص‬ ‫اش‬ ‫وظیفه‬ ‫که‬ ‫است‬namenode‫است‬.
Failover‫از‬ ‫معموال‬ ‫ها‬ZooKeeper‫شدن‬ ‫معیوب‬ ‫تشخیص‬ ‫ای‬‫ر‬‫ب‬namenode‫کنند‬ ‫می‬ ‫استفاده‬.
•Fencing:‫ناخواسته‬ ‫ات‬‫ر‬‫تغیی‬ ‫ایجاد‬ ‫مانع‬ ‫که‬ ‫است‬ ‫متدی‬namenode‫موجب‬ ‫است‬ ‫ممکن‬ ‫که‬ ‫معیوب‬
‫شود‬ ‫می‬ ،‫گردد‬‫کالستر‬ ‫در‬ ‫مشکل‬.
‫رابط‬Command-Line
•‫اندازی‬ ‫راه‬ ‫از‬ ‫پس‬Hadoop‫با‬ ‫کار‬ ‫ای‬‫ر‬‫ب‬ ‫مختلفی‬ ‫های‬ ‫رابط‬ ‫از‬ ‫توان‬ ‫می‬ ‫سیستم‬ ‫روی‬‫استفاده‬ ‫فایل‬ ‫سیستم‬
‫کرد‬.‫آن‬ ‫ترین‬ ‫مهم‬Command line‫است‬.
•‫فایل‬ ‫سیستم‬ ‫ابتدایی‬ ‫های‬ ‫فرمان‬ ‫از‬ ‫تعدادی‬:
•fs‫فایل‬ ‫سیستم‬ ‫فرمان‬ ‫خط‬Hadoop‫کند‬ ‫می‬ ‫اخوانی‬‫ر‬‫ف‬ ‫را‬‫ج‬ ‫خود‬ ‫در‬ ‫فایل‬ ‫سیستم‬ ‫در‬ ‫کار‬ ‫ای‬‫ر‬‫ب‬ ‫دستور‬‫زیر‬ ‫تعدادی‬ ‫که‬‫ای‬
‫است‬ ‫داده‬.
• % hadoop fs -copyFromLocal input/docs/quangleLocal.txt /user/tom/quangleHDFS.txt
•‫محلی‬‫مسیر‬ ‫از‬ ‫را‬ ‫فایل‬(‫پوشه‬input)‫روی‬ ‫شده‬ ‫تعیین‬ ‫آدرس‬ ‫به‬HDFS‫کند‬ ‫می‬ ‫منتقل‬.
• % hadoop fs -copyToLocal quangleHDFS.txt quangleLocal.txt
•‫کالستر‬ ‫از‬ ‫را‬ ‫فایل‬Hadoop‫کند‬ ‫می‬ ‫کپی‬ ‫محلی‬ ‫فایل‬ ‫سیستم‬ ‫به‬.
• % hadoop fs -mkdir books ‫سازد‬ ‫می‬ ‫فایل‬ ‫سیستم‬ ‫در‬ ‫پوشه‬ ‫یک‬.
• % hadoop fs -ls .
• Found 2 items
• drwxr-xr-x - tom supergroup 0 2014-10-04 13:22 books
• -rw-r--r-- 1 tom supergroup 119 2014-10-04 13:21 quangleHDFS.txt
•‫خروجی‬ ‫در‬ ‫اول‬ ‫ستون‬namenode‫فایل‬ ‫از‬ ‫ها‬ ‫کپی‬ ‫تعداد‬ ‫دوم‬ ‫ستون‬ ،‫کند‬ ‫می‬ ‫مشخص‬ ‫را‬ ‫فایل‬ ‫های‬ ‫دسترسی‬(‫پ‬ ‫ای‬‫ر‬‫ب‬‫وشه‬
‫ها‬‫در‬ ‫چون‬namenode‫است‬ ‫معنی‬ ‫بی‬ ‫ستون‬ ‫این‬ ‫دارند‬ ‫ار‬‫ر‬‫ق‬)‫مشخص‬ ‫را‬ ‫آن‬ ‫گروه‬ ‫و‬‫کاربر‬ ‫چهارم‬ ‫و‬ ‫سوم‬ ‫ستون‬ ،‫کن‬ ‫می‬‫د‬.
‫نام‬ ‫و‬‫تغییر‬ ‫آخرین‬ ‫زمان‬ ‫و‬ ‫تاریخ‬ ،‫بایت‬ ‫به‬ ‫اندازه‬ ‫ها‬ ‫ستون‬ ‫بقیه‬‫پوشه‬-‫کند‬ ‫می‬ ‫مشخص‬ ‫را‬ ‫فایل‬.
‫فایل‬ ‫سیستم‬ ‫های‬ ‫دسترسی‬
•‫یک‬ ‫پوشه‬ ‫یا‬ ‫فایل‬‫هر‬owner،group‫و‬mode‫دارد‬.mode‫کاربر‬ ‫ای‬‫ر‬‫ب‬ ‫که‬ ‫است‬ ‫هایی‬ ‫دسترسی‬ ‫مجموعه‬
‫هستند‬ ‫مالک‬ ‫کاربری‬ ‫گروه‬ ‫عضو‬ ‫نه‬ ‫و‬ ‫هستند‬ ‫مالک‬ ‫نه‬ ‫که‬ ‫انی‬‫ر‬‫کارب‬ ‫و‬ ‫مالک‬ ‫کاربری‬ ‫گروه‬ ،‫مالک‬‫نظر‬ ‫در‬
‫شود‬ ‫می‬ ‫گرفته‬.
•‫است‬ ‫آمده‬‫زیر‬ ‫جدول‬ ‫در‬ ‫ها‬ ‫پوشه‬ ‫و‬ ‫فایل‬ ‫های‬ ‫دسترسی‬:
‫پوشه‬ ‫فایل‬ ‫دسترسی‬
‫پوشه‬ ‫محتویات‬ ‫خواندن‬ ‫فایل‬ ‫خواندن‬ ‫خواندن‬(r)
‫پو‬ ‫های‬ ‫فایل‬ ‫کردن‬ ‫اضافه‬ ‫و‬ ‫حذف‬‫شه‬ ‫نوشتن‬‫فای‬ ‫در‬‫ل‬ ‫نوشتن‬(w)
‫فرزندان‬ ‫به‬ ‫دسترسی‬ ‫وجود‬‫ندارد‬ ‫کردن‬ ‫ا‬‫ر‬‫اج‬(x)
‫فایل‬ ‫های‬ ‫سیستم‬Hadoop
•Hadoop‫که‬ ‫است‬ ‫کرده‬ ‫تعریف‬ ‫فایل‬ ‫سیستم‬ ‫نوع‬ ‫چند‬HDFS‫است‬ ‫آن‬ ‫نمونه‬ ‫یک‬ ‫تنها‬.
•Hadoop‫قالب‬ ‫از‬URI‫کند‬ ‫می‬ ‫استفاده‬ ‫فایل‬ ‫سیستم‬ ‫کردن‬ ‫پیدا‬ ‫ای‬‫ر‬‫ب‬.‫کرد‬ ‫لیست‬ ‫ای‬‫ر‬‫ب‬ ‫مثال‬‫های‬ ‫فایل‬ ‫ن‬
root‫کنیم‬ ‫می‬ ‫وارد‬ ‫را‬‫زیر‬ ‫دستور‬ ‫محلی‬ ‫دیسک‬ ‫روی‬:
• % hadoop fs –ls file:///
‫فایل‬ ‫های‬ ‫سیستم‬Hadoop
‫توضیحات‬ ‫پیاده‬‫سازی‬Java(‫تحت‬org.apache.hadoop) ‫قالب‬URI ‫فایل‬ ‫سیستم‬
‫سیستم‬‫کنترل‬ ‫با‬ ‫محلی‬ ‫دیسک‬ ‫ای‬‫ر‬‫ب‬ ‫فایلی‬checksum‫محلی‬ fs.LocalFileSystem file Local
‫توزیع‬ ‫فایل‬ ‫سیستم‬‫شده‬Hadoop.‫با‬ ‫شده‬ ‫هماهنگ‬MapReduce hdfs.DistributedFileSystem hdfs HDFS
‫سیستم‬‫از‬ ‫خواندن‬ ‫امکان‬ ‫که‬ ‫فایلی‬HDFS‫کند‬ ‫می‬ ‫اهم‬‫ر‬‫ف‬ ‫را‬ ‫هویت‬ ‫از‬‫ر‬‫اح‬ ‫امکان‬ ‫با‬. hdfs.web.WebHdfsFileSystem webhdfs WebHDFS
‫نسخه‬HTTPS‫از‬WebHDFS hdfs.web.SWebHdfsFileSystem swebhdfs Secure WebHDFS
‫سیستم‬‫را‬ ‫ها‬ ‫فایل‬ ‫و‬ ‫شود‬ ‫می‬ ‫سوار‬ ‫دیگری‬ ‫فایل‬ ‫سیستم‬ ‫روی‬ ‫که‬ ‫فایلی‬‫کاستن‬ ‫ای‬‫ر‬‫ب‬
‫توسط‬ ‫شده‬ ‫استفاده‬ ‫حافظه‬ ‫از‬namenode‫کند‬ ‫می‬ ‫آرشیو‬.
fs.HarFileSystem har HAR
‫یک‬‫فایل‬ ‫های‬ ‫سیستم‬‫سایر‬ ‫ای‬‫ر‬‫ب‬ ‫کالینت‬ ‫سمت‬ ‫اتصال‬ ‫جدول‬Hadoop.‫معموال‬
‫به‬ ‫اتصال‬ ‫نقطه‬ ‫ساختن‬ ‫ای‬‫ر‬‫ب‬Federated namenode‫می‬ ‫استفاده‬‫شود‬.
viewfs.ViewFileSystem viewfs View
‫با‬ ‫که‬ ‫فایلی‬ ‫سیستم‬FTP‫شود‬ ‫می‬ ‫گردانده‬‫بر‬ fs.ftp.FTPFileSystem ftp FTP
‫سیستم‬‫فایل‬Amazon S3 fs.s3a.S3AFileSystem s3a S3
‫سیستم‬‫فایل‬Microsoft Azure fs.azure.NativeAzureFileSystem wasb Azure
‫سیستم‬‫فایل‬OpenStack Swift fs.swift.snative.SwiftNativeFileSystem swift Swift
‫رابط‬
1
‫های‬HDFS
•Hadoop‫است‬ ‫شده‬ ‫نوشته‬ ‫جاوا‬ ‫به‬.
•‫های‬ ‫رابط‬‫در‬ ‫زیادی‬Hadoop‫به‬ ‫دسترسی‬ ‫ای‬‫ر‬‫ب‬HDFS‫اند‬ ‫شده‬ ‫نوشته‬.
•HTTP:‫به‬ ‫دسترسی‬ ‫امکان‬ ‫جاوا‬‫غیر‬ ‫های‬ ‫برنامه‬ ‫به‬ ‫که‬ ‫است‬ ‫رابطی‬HDFS‫پروتکل‬ ‫طریق‬ ‫از‬ ‫را‬
HDFS REST API‫دهد‬ ‫می‬.‫به‬ ‫دسترسی‬ ‫ای‬‫ر‬‫ب‬ ‫راه‬ ‫دو‬HDFS‫طریق‬ ‫از‬HTTP‫دارد‬ ‫وجود‬.
•‫مستقیم‬:‫زمینه‬ ‫پس‬ ‫های‬ ‫پردازش‬(daemons)HDFS‫های‬ ‫درخواست‬ ‫مستقیم‬ ‫صورت‬ ‫به‬HTTP‫رسیدگی‬ ‫را‬
‫کنند‬ ‫می‬.
•‫غیرمستقیم‬:‫طریق‬ ‫از‬proxy.
•C:Hadoop‫کتابخانه‬ ‫یک‬C‫نام‬ ‫به‬libfs‫به‬ ‫دسترسی‬ ‫ای‬‫ر‬‫ب‬HDFS‫فایل‬ ‫های‬ ‫سیستم‬‫سایر‬ ‫و‬
Hadoop‫از‬ ‫که‬ ‫است‬ ‫کرده‬ ‫اهم‬‫ر‬‫ف‬
2
JNI‫فایل‬ ‫سیستم‬ ‫اخوانی‬‫ر‬‫ف‬ ‫ای‬‫ر‬‫ب‬client‫کند‬ ‫می‬ ‫استفاده‬ ‫جاوا‬.
‫همچنین‬libwebhdfs‫رابط‬ ‫از‬ ‫که‬webhdfs‫است‬ ‫شده‬ ‫معرفی‬ ،‫کند‬ ‫می‬ ‫استفاده‬.1 Interface
‫رابط‬Java
•‫فایل‬ ‫های‬ ‫سیستم‬ ‫ای‬‫ر‬‫ب‬ ‫شده‬ ‫شخصی‬ ‫کدهای‬ ‫جاوا‬ ‫کاربری‬ ‫رابط‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫توان‬ ‫می‬Hadoop‫نوشت‬.
•‫دستور‬‫زیر‬ ‫مثال‬cat‫در‬ ‫فایل‬ ‫یک‬ ‫محتویات‬ ‫نمایش‬ ‫ای‬‫ر‬‫ب‬HDFS‫استاندار‬ ‫استریم‬ ‫به‬ ‫فایل‬ ‫اتصال‬ ‫طریق‬ ‫از‬ ‫را‬‫د‬
‫کند‬ ‫می‬ ‫سازی‬ ‫پیاده‬ ‫را‬ ‫خروجی‬.
•‫دستور‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫جاوا‬URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());‫فایل‬ ‫سیستم‬
HDFS‫بالک‬ ‫در‬ ‫را‬ ‫آن‬ ‫دلیل‬ ‫همین‬ ‫به‬ ‫پذیرد‬ ‫انجام‬ ‫یکبار‬ ‫باید‬ ‫اخوانی‬‫ر‬‫ف‬ ‫این‬ ،‫شناسد‬ ‫می‬ ‫را‬static‫ایم‬ ‫داده‬ ‫ار‬‫ر‬‫ق‬.
• % export HADOOP_CLASSPATH=hadoop-examples.jar ‫فرمان‬ ‫خط‬ ‫در‬ ‫اخوانی‬‫ر‬‫ف‬:
• % hadoop URLCat hdfs://localhost/user/tom/quangle.txt
1
1
Source codes at: https://github.com/tomwhite/hadoop-book
‫فایل‬ ‫خواندن‬ ‫ساختار‬
‫فایل‬ ‫خواندن‬ ‫ساختار‬
1-‫تابع‬ ‫زدن‬ ‫صدا‬ ‫با‬ ‫کالینت‬open()‫شی‬ ‫در‬FileSystem‫زند‬ ‫می‬ ‫صدا‬ ‫را‬ ‫بخواند‬ ‫میخواهد‬ ‫که‬ ‫را‬ ‫فایلی‬ ،.
2-DistributedFileSystem،namenode‫طریق‬ ‫از‬ ‫را‬RPC
1
‫می‬ ‫صدا‬ ‫فایل‬ ‫های‬ ‫بالک‬ ‫اولین‬ ‫مکان‬ ‫کردن‬ ‫مشخص‬ ‫ای‬‫ر‬‫ب‬
‫زند‬.،‫بالک‬‫هر‬ ‫ای‬‫ر‬‫ب‬namenode‫آدرس‬datanode‫گرداند‬ ‫برمی‬ ‫را‬ ‫دارند‬ ‫را‬ ‫بالک‬ ‫آن‬ ‫از‬ ‫کپی‬ ‫یک‬ ‫که‬ ‫هایی‬.
3-DistributedFileSystem‫یک‬FSDataInputStream‫گرداند‬ ‫می‬‫بر‬ ‫فایل‬ ‫خواندن‬ ‫ای‬‫ر‬‫ب‬ ‫کالینت‬ ‫به‬ ‫را‬.
4-‫کالینت‬read()‫زند‬ ‫می‬ ‫صدا‬ ‫استریم‬ ‫روی‬ ‫را‬.‫طریق‬ ‫از‬ ‫و‬DFSInputStream‫ترین‬ ‫نزدیک‬ ‫به‬datanode‫می‬ ‫وصل‬
‫شود‬.
5-،‫رسیم‬ ‫می‬ ‫بالک‬ ‫انتهای‬ ‫به‬ ‫وقتی‬DFSInputStream‫به‬ ‫اتصال‬datanode‫بهترین‬ ‫سپس‬ ‫و‬ ‫بندد‬ ‫می‬ ‫را‬datanode‫را‬
‫کند‬ ‫می‬ ‫پیدا‬ ‫بعدی‬ ‫بالک‬ ‫ای‬‫ر‬‫ب‬.
6-،‫کرد‬ ‫تمام‬ ‫را‬ ‫خواندن‬ ‫کالینت‬ ‫که‬ ‫وقتی‬close()‫از‬ ‫را‬FSDataInputStream‫زند‬ ‫می‬ ‫صدا‬.
•‫خواندن‬ ‫طول‬ ‫در‬‫اگر‬DFSInputStream‫از‬ ‫خواندن‬ ‫در‬ ‫خطایی‬ ‫با‬datanode‫می‬ ‫بازیابی‬ ‫را‬ ‫بعدی‬ ‫بالک‬ ‫ترین‬ ‫نزدیک‬ ،‫شد‬ ‫مواجه‬
‫از‬ ‫و‬ ‫کند‬datanode‫کند‬ ‫می‬‫صرفنظر‬ ‫بعدی‬ ‫های‬ ‫بالک‬ ‫ای‬‫ر‬‫ب‬ ‫است‬ ‫شده‬ ‫مواجه‬ ‫خطا‬ ‫با‬ ‫که‬ ‫ی‬.
•DFSInputStream،checksum‫کند‬ ‫می‬ ‫چک‬‫نیز‬ ‫را‬ ‫بالک‬.‫از‬ ‫دیگری‬ ‫کپی‬ ‫کند‬ ‫می‬ ‫سعی‬ ‫شد‬ ‫یافت‬ ‫ابی‬‫ر‬‫خ‬ ‫بالک‬‫اگر‬datanode
‫به‬ ‫را‬ ‫ابی‬‫ر‬‫خ‬ ‫و‬ ‫بخواند‬namenode‫کند‬ ‫ارش‬‫ز‬‫گ‬.
1
Remote Procedure Call
‫ای‬ ‫شبکه‬ ‫توپولوژی‬Hadoop
•Hadoop‫ترین‬ ‫نزدیک‬ ‫کند‬ ‫می‬ ‫سعی‬node‫را‬‫خواندن‬ ‫ای‬‫ر‬‫ب‬‫بالک‬‫کند‬ ‫معرفی‬.‫منظور‬ ‫بدین‬Hadoop
‫کند‬ ‫می‬ ‫تقسیم‬‫زیر‬ ‫های‬ ‫دسته‬ ‫به‬ ‫را‬ ‫ها‬ ‫پردازش‬:
•1-‫یک‬ ‫به‬ ‫متعلق‬ ‫های‬ ‫پردازش‬node.
•2-node‫یک‬ ‫مختلف‬ ‫های‬rack.
•3-node‫با‬ ‫هایی‬rack‫متفاوت‬.
•4-node‫متفاوت‬‫دیتاسنتر‬ ‫با‬ ‫هایی‬(Hadoop‫ندارد‬ ‫را‬ ‫قابلیت‬ ‫این‬ ‫هنوز‬.)
‫فایل‬ ‫در‬ ‫نوشتن‬ ‫ساختار‬
‫فایل‬ ‫در‬ ‫نوشتن‬ ‫ساختار‬
1-‫زدن‬ ‫صدا‬ ‫با‬ ‫را‬ ‫فایل‬ ‫کالینت‬create()‫از‬DistributedFileSystem‫سازد‬ ‫می‬.DistributedFileSystem‫یک‬RPC‫صدا‬ ‫ای‬‫ر‬‫ب‬ ‫را‬
‫زدن‬namenode‫در‬ ‫جدیدی‬ ‫فایل‬ ‫که‬ ‫سازد‬ ‫می‬namespace‫بسازد‬.
2-namenode‫س‬ ‫اجازه‬ ‫کالینت‬ ‫و‬ ‫است‬ ‫نداشته‬ ‫وجود‬ ‫قبل‬ ‫از‬ ‫فایل‬ ‫که‬ ‫شود‬ ‫مطمئن‬ ‫تا‬ ‫دهد‬ ‫می‬ ‫انجام‬ ‫مختلفی‬ ‫های‬ ‫بررسی‬‫اخت‬
‫دارد‬ ‫را‬ ‫فایل‬.DistributedFileSystem‫یک‬FSDataOutputStream‫گرداند‬ ‫می‬‫بر‬ ‫اطالعات‬ ‫نوشتن‬ ‫ای‬‫ر‬‫ب‬ ‫کالینت‬ ‫به‬ ‫را‬.
3-‫نویسد‬ ‫می‬ ‫را‬ ‫ها‬ ‫داده‬ ‫کالینت‬ ‫که‬ ‫وقتی‬DFSOutputStream‫ن‬ ‫به‬ ‫داخلی‬ ‫صف‬ ‫یک‬ ‫در‬ ‫که‬ ‫کند‬ ‫می‬ ‫تقسیم‬ ‫هایی‬ ‫بسته‬ ‫به‬ ‫را‬ ‫آن‬‫ام‬
data queue‫شود‬ ‫می‬ ‫نوشته‬.Data queue‫توسط‬DataStreamer‫از‬ ‫لیستی‬ ‫که‬ ‫شود‬ ‫می‬ ‫خوانده‬datanode‫ای‬‫ر‬‫ب‬ ‫مناسب‬ ‫های‬
‫دهد‬ ‫می‬ ‫را‬ ‫ها‬ ‫کپی‬ ‫داری‬ ‫نگه‬.
4-‫لیست‬datanode‫یک‬ ‫ها‬pipeline‫سازد‬ ‫می‬ ‫را‬.‫تعداد‬datanode‫های‬pipeline‫ار‬‫ر‬‫تک‬ ‫درجه‬ ‫اندازه‬ ‫به‬(replication level)
‫فرض‬ ‫پیش‬ ‫طور‬ ‫به‬ ‫که‬ ‫است‬3‫است‬.‫اولین‬ ‫از‬ ‫سپس‬datanode‫در‬pipeline‫شود‬ ‫می‬ ‫استریم‬ ‫آن‬ ‫آخرین‬ ‫تا‬.‫به‬ ‫دومی‬ ،‫دومی‬ ‫به‬ ‫اولی‬
‫و‬ ‫سومی‬...
5-DFSOutputStream‫صف‬ ‫یک‬ack‫توسط‬ ‫شدن‬ ‫شناخته‬‫منتظر‬ ‫که‬ ‫هایی‬ ‫بسته‬ ‫لیست‬ ‫آن‬ ‫در‬ ‫که‬ ‫سازد‬ ‫می‬datanode‫هستند‬ ‫ها‬
‫شود‬ ‫می‬ ‫وارد‬.‫لیست‬ ‫از‬ ‫صورتی‬ ‫در‬ ‫بسته‬ ‫یک‬ack‫تمام‬ ‫توسط‬ ‫که‬ ‫شود‬ ‫می‬ ‫حذف‬datanode‫های‬pipeline‫باشد‬ ‫شده‬ ‫شناسایی‬.
6-‫کند‬ ‫می‬ ‫تمام‬ ‫را‬ ‫ها‬ ‫داده‬ ‫نوشتن‬ ‫کالینت‬ ‫که‬ ‫وقتی‬close()‫کند‬ ‫می‬ ‫اخوانی‬‫ر‬‫ف‬ ‫استریم‬ ‫روی‬ ‫را‬.
7-‫روی‬ ‫باقیمانده‬ ‫های‬ ‫بسته‬ ‫تمام‬ ‫عمل‬ ‫این‬pipeline‫به‬ ‫مربوط‬datanode‫به‬ ‫را‬datanode‫بسته‬ ‫شدن‬ ‫شناخته‬‫منتظر‬ ‫و‬ ‫فرستد‬ ‫می‬
‫با‬ ‫ارتباط‬ ‫از‬ ‫قبل‬ ‫ها‬namenode‫شود‬ ‫می‬ ‫فایل‬ ‫تکمیل‬ ‫اعالن‬ ‫ای‬‫ر‬‫ب‬.Namenode‫اند‬ ‫شده‬ ‫ساخته‬ ‫هایی‬ ‫بالک‬ ‫چه‬ ‫داند‬ ‫می‬ ‫قبل‬ ‫از‬.
‫بالک‬ ‫ار‬‫ر‬‫تک‬ ‫سیاست‬
•‫همان‬ ‫در‬ ‫معموال‬ ‫بالک‬ ‫اولین‬node‫کالس‬ ‫از‬ ‫خارج‬ ‫کالینت‬‫اگر‬ ‫یا‬ ‫است‬ ‫فرستاده‬ ‫را‬ ‫نوشتن‬ ‫درخواست‬ ‫که‬ ‫شود‬ ‫می‬ ‫نوشته‬ ‫ی‬‫بود‬‫تر‬
‫یک‬ ‫در‬node‫شود‬ ‫می‬ ‫نوشته‬ ‫تصادفی‬.
•‫در‬ ‫دوم‬ ‫بالک‬rack‫از‬‫غیر‬ ‫دیگری‬rack‫اولین‬node‫شود‬ ‫می‬ ‫نوشته‬.
•‫در‬ ‫سوم‬ ‫بالک‬node‫از‬ ‫تصادفی‬rack‫به‬ ‫مربوط‬node‫شود‬ ‫می‬ ‫نوشته‬ ‫دوم‬.
•‫در‬ ‫بعد‬ ‫های‬ ‫بالک‬node‫شود‬ ‫می‬ ‫نوشته‬‫کالستر‬ ‫روی‬ ‫تصادفی‬ ‫های‬.
‫موازی‬ ‫کپی‬
•‫دستور‬ ‫از‬ ‫توان‬ ‫می‬distcp‫موازی‬ ‫کپی‬ ‫ای‬‫ر‬‫ب‬(‫نخی‬ ‫چند‬)‫کرد‬ ‫استفاده‬.‫کر‬ ‫کپی‬ ‫ای‬‫ر‬‫ب‬ ‫دستور‬ ‫این‬ ‫از‬ ‫توان‬ ‫می‬ ‫مثال‬ ‫ای‬‫ر‬‫ب‬‫فایل‬ ‫دن‬
‫کرد‬ ‫استفاده‬‫زیر‬ ‫شیوه‬ ‫به‬ ‫ها‬ ‫پوشه‬ ‫های‬:
• % hadoop distcp dir1 dir2
•‫از‬distcp‫شود‬ ‫می‬ ‫استفاده‬ ‫گرفتن‬ ‫آپ‬ ‫بک‬ ‫یا‬ ‫کالسترها‬ ‫بین‬ ‫اطالعات‬ ‫انتقال‬ ‫ای‬‫ر‬‫ب‬ ‫معموال‬.
• % hadoop distcp -update -delete -p hdfs://namenode1/foo hdfs://namenode2/foo
•Hadoop‫باش‬ ‫شده‬ ‫توزیع‬ ‫یکنواخت‬ ‫صورت‬ ‫به‬‫کالستر‬‫تاسر‬‫ر‬‫س‬ ‫در‬ ‫ای‬ ‫داده‬ ‫های‬ ‫بالک‬ ‫که‬ ‫کند‬ ‫می‬ ‫عمل‬ ‫بهینه‬ ‫زمانی‬‫ند‬.
‫منابع‬
• White, Tom. Hadoop: The definitive guide, 4th edition. " O'Reilly Media, Inc.", 2015.

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز
Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیرازIntroduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز
Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیرازMobin Ranjbar
 
Hadoop Case Studies in the Real World in Persian - کاربردهای هدوپ در دنیای واقعی
Hadoop Case Studies in the Real World in Persian - کاربردهای هدوپ در دنیای واقعیHadoop Case Studies in the Real World in Persian - کاربردهای هدوپ در دنیای واقعی
Hadoop Case Studies in the Real World in Persian - کاربردهای هدوپ در دنیای واقعیMobin Ranjbar
 
Big Data Processing in Cloud Computing Environments
Big Data Processing in Cloud Computing EnvironmentsBig Data Processing in Cloud Computing Environments
Big Data Processing in Cloud Computing EnvironmentsFarzad Nozarian
 
آموزش دیتاگارد در اوراکل
آموزش دیتاگارد در اوراکلآموزش دیتاگارد در اوراکل
آموزش دیتاگارد در اوراکلfaradars
 

Was ist angesagt? (8)

Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز
Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیرازIntroduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز
Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز
 
Hadoop Case Studies in the Real World in Persian - کاربردهای هدوپ در دنیای واقعی
Hadoop Case Studies in the Real World in Persian - کاربردهای هدوپ در دنیای واقعیHadoop Case Studies in the Real World in Persian - کاربردهای هدوپ در دنیای واقعی
Hadoop Case Studies in the Real World in Persian - کاربردهای هدوپ در دنیای واقعی
 
Big Data Processing in Cloud Computing Environments
Big Data Processing in Cloud Computing EnvironmentsBig Data Processing in Cloud Computing Environments
Big Data Processing in Cloud Computing Environments
 
Recovery in gnu/linux
Recovery in gnu/linux Recovery in gnu/linux
Recovery in gnu/linux
 
Disk DBMS
Disk DBMSDisk DBMS
Disk DBMS
 
آموزش دیتاگارد در اوراکل
آموزش دیتاگارد در اوراکلآموزش دیتاگارد در اوراکل
آموزش دیتاگارد در اوراکل
 
DB Indexing
DB IndexingDB Indexing
DB Indexing
 
Apache spark
Apache sparkApache spark
Apache spark
 

Ähnlich wie سیستم فایل HDFS

06 hpc library_fundamentals_of_parallelism_and_code_optimization-www.astek.ir
06 hpc library_fundamentals_of_parallelism_and_code_optimization-www.astek.ir06 hpc library_fundamentals_of_parallelism_and_code_optimization-www.astek.ir
06 hpc library_fundamentals_of_parallelism_and_code_optimization-www.astek.iraminnezarat
 
Introduction to oracle
Introduction to oracleIntroduction to oracle
Introduction to oracleEhsan Hamzei
 
(Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب ال...
 (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب ال... (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب ال...
(Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب ال...Muhibullah Aman
 
آموزش ذخیره و بازیابی اطلاعات - درس دوم
آموزش ذخیره و بازیابی اطلاعات - درس دومآموزش ذخیره و بازیابی اطلاعات - درس دوم
آموزش ذخیره و بازیابی اطلاعات - درس دومfaradars
 
هسته لینوکس و کامپایل آن
هسته لینوکس و کامپایل آنهسته لینوکس و کامپایل آن
هسته لینوکس و کامپایل آنtuxitop
 
آموزش ذخیره و بازیابی اطلاعات - درس پنجم
آموزش ذخیره و بازیابی اطلاعات - درس پنجمآموزش ذخیره و بازیابی اطلاعات - درس پنجم
آموزش ذخیره و بازیابی اطلاعات - درس پنجمfaradars
 
مسیردهی و پروتوکولهای مسیریابی
مسیردهی و پروتوکولهای مسیریابیمسیردهی و پروتوکولهای مسیریابی
مسیردهی و پروتوکولهای مسیریابیMuhibullah Aman
 
Cisco Exploration 2 In Persion-Muhibullah Aman
Cisco Exploration 2 In Persion-Muhibullah AmanCisco Exploration 2 In Persion-Muhibullah Aman
Cisco Exploration 2 In Persion-Muhibullah AmanMuhibullah Aman
 
سیستم های عامل فصل ۱
سیستم های عامل   فصل ۱سیستم های عامل   فصل ۱
سیستم های عامل فصل ۱Shayan Khaksar
 
آموزش مدیریت بانک اطلاعاتی اوراکل - بخش چهاردهم
آموزش مدیریت بانک اطلاعاتی اوراکل - بخش چهاردهمآموزش مدیریت بانک اطلاعاتی اوراکل - بخش چهاردهم
آموزش مدیریت بانک اطلاعاتی اوراکل - بخش چهاردهمfaradars
 
راه اندازی مخزن در سیستم عامل فدورا
راه اندازی مخزن در سیستم عامل فدوراراه اندازی مخزن در سیستم عامل فدورا
راه اندازی مخزن در سیستم عامل فدوراAmir Reza Asadi
 

Ähnlich wie سیستم فایل HDFS (20)

Redis.
Redis.Redis.
Redis.
 
Raid
RaidRaid
Raid
 
Ulimit
UlimitUlimit
Ulimit
 
how enable ceph dashboard
how enable  ceph dashboardhow enable  ceph dashboard
how enable ceph dashboard
 
Rbdmap ceph realease 0.2
Rbdmap ceph realease 0.2Rbdmap ceph realease 0.2
Rbdmap ceph realease 0.2
 
rbdmap in ceph
rbdmap in ceph rbdmap in ceph
rbdmap in ceph
 
06 hpc library_fundamentals_of_parallelism_and_code_optimization-www.astek.ir
06 hpc library_fundamentals_of_parallelism_and_code_optimization-www.astek.ir06 hpc library_fundamentals_of_parallelism_and_code_optimization-www.astek.ir
06 hpc library_fundamentals_of_parallelism_and_code_optimization-www.astek.ir
 
Introduction to oracle
Introduction to oracleIntroduction to oracle
Introduction to oracle
 
how upgrade ceph
how upgrade cephhow upgrade ceph
how upgrade ceph
 
(Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب ال...
 (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب ال... (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب ال...
(Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب ال...
 
Pg autoscaling in ceph
Pg autoscaling in  cephPg autoscaling in  ceph
Pg autoscaling in ceph
 
آموزش ذخیره و بازیابی اطلاعات - درس دوم
آموزش ذخیره و بازیابی اطلاعات - درس دومآموزش ذخیره و بازیابی اطلاعات - درس دوم
آموزش ذخیره و بازیابی اطلاعات - درس دوم
 
هسته لینوکس و کامپایل آن
هسته لینوکس و کامپایل آنهسته لینوکس و کامپایل آن
هسته لینوکس و کامپایل آن
 
Openstack Overview
Openstack Overview Openstack Overview
Openstack Overview
 
آموزش ذخیره و بازیابی اطلاعات - درس پنجم
آموزش ذخیره و بازیابی اطلاعات - درس پنجمآموزش ذخیره و بازیابی اطلاعات - درس پنجم
آموزش ذخیره و بازیابی اطلاعات - درس پنجم
 
مسیردهی و پروتوکولهای مسیریابی
مسیردهی و پروتوکولهای مسیریابیمسیردهی و پروتوکولهای مسیریابی
مسیردهی و پروتوکولهای مسیریابی
 
Cisco Exploration 2 In Persion-Muhibullah Aman
Cisco Exploration 2 In Persion-Muhibullah AmanCisco Exploration 2 In Persion-Muhibullah Aman
Cisco Exploration 2 In Persion-Muhibullah Aman
 
سیستم های عامل فصل ۱
سیستم های عامل   فصل ۱سیستم های عامل   فصل ۱
سیستم های عامل فصل ۱
 
آموزش مدیریت بانک اطلاعاتی اوراکل - بخش چهاردهم
آموزش مدیریت بانک اطلاعاتی اوراکل - بخش چهاردهمآموزش مدیریت بانک اطلاعاتی اوراکل - بخش چهاردهم
آموزش مدیریت بانک اطلاعاتی اوراکل - بخش چهاردهم
 
راه اندازی مخزن در سیستم عامل فدورا
راه اندازی مخزن در سیستم عامل فدوراراه اندازی مخزن در سیستم عامل فدورا
راه اندازی مخزن در سیستم عامل فدورا
 

سیستم فایل HDFS

  • 2. ‫مقدمه‬ •‫کامپ‬ ‫تعدادی‬ ‫روی‬ ‫را‬ ‫آن‬ ‫تا‬ ‫است‬ ‫نیاز‬ ‫شود‬ ‫می‬‫بیشتر‬‫کامپیوتر‬ ‫سازی‬ ‫ذخیره‬ ‫ظرفیت‬ ‫از‬ ‫دیتاست‬ ‫یک‬ ‫اندازه‬ ‫که‬ ‫وقتی‬‫یوتر‬(node)‫مجزا‬ ‫کنیم‬ ‫قسمت‬. •‫ش‬ ‫توزیع‬ ‫فایل‬ ‫سیستم‬ ‫کنند‬ ‫می‬ ‫مدیریت‬ ‫ها‬ ‫ماشین‬ ‫از‬ ‫ای‬ ‫شبکه‬ ‫روی‬ ‫را‬ ‫سازی‬ ‫ذخیره‬ ‫فضای‬ ‫که‬ ‫هایی‬ ‫فایل‬ ‫سیستم‬ ‫به‬‫گویند‬ ‫می‬ ‫ده‬. •‫شده‬ ‫توزیع‬ ‫فایل‬ ‫سیستم‬Hadoop،HDFS‫دارد‬ ‫نام‬.
  • 3. ‫احی‬‫ر‬‫ط‬HDFS •HDFS‫است‬ ‫شده‬ ‫احی‬‫ر‬‫ط‬‫زیر‬ ‫مقاصد‬ ‫ای‬‫ر‬‫ب‬: •‫بزرگ‬ ‫خیلی‬ ‫های‬ ‫فایل‬:‫پتابایتی‬ ‫حتی‬ ‫یا‬ ‫ابایتی‬‫ر‬‫ت‬ ،‫گیگابایتی‬ ‫صدها‬ ‫های‬ ‫اندازه‬ ‫با‬ ‫هایی‬ ‫فایل‬. •‫جریانی‬ ‫داده‬ ‫دسترسی‬:‫است‬ ‫نامحدود‬ ‫خواندن‬ ‫یکبار؛‬ ‫نوشتن‬ ‫الگوی‬ ،‫داده‬ ‫پردازش‬ ‫الگوی‬ ‫کاراترین‬.HDFS‫این‬ ‫از‬ ‫پیش‬ ‫رکورد‬ ‫اولین‬ ‫خواندن‬ ‫ای‬‫ر‬‫ب‬ ‫که‬ ‫تاخیری‬ ‫از‬ ‫دیتاست‬ ‫تمام‬ ‫خواندن‬ ‫زمان‬ ‫این‬‫ر‬‫بناب‬ ،‫گیرد‬ ‫می‬ ‫الگو‬ ‫ایده‬‫تر‬ ‫مهم‬ ‫آید‬ ‫می‬ ‫است‬. •‫معمولی‬ ‫ار‬‫ز‬‫اف‬ ‫سخت‬:Hadoop‫ندارد‬ ‫ابی‬‫ر‬‫خ‬‫ابر‬‫ر‬‫ب‬ ‫در‬ ‫مقاومت‬ ‫با‬ ‫قیمت‬ ‫ان‬‫ر‬‫گ‬ ‫ارهای‬‫ز‬‫اف‬ ‫سخت‬ ‫به‬ ‫احتیاجی‬.HDFS‫به‬ ‫های‬ ‫ابی‬‫ر‬‫خ‬ ‫مقابل‬ ‫در‬ ‫که‬ ‫است‬ ‫شده‬ ‫احی‬‫ر‬‫ط‬ ‫ای‬ ‫گونه‬node‫دهد‬ ‫ادامه‬ ‫را‬ ‫خود‬ ‫کار‬ ‫جزئی‬ ‫ای‬ ‫وقفه‬ ‫با‬‫حداکثر‬ ‫ها‬. •HDFS‫نیست‬ ‫سازگار‬‫زیر‬ ‫موارد‬ ‫با‬: •‫کم‬‫تاخیر‬ ‫با‬ ‫ها‬ ‫داده‬ ‫به‬ ‫دسترسی‬:‫خوبی‬ ‫به‬ ‫دارند‬ ‫کم‬‫تاخیر‬ ‫با‬ ‫دسترسی‬ ‫به‬ ‫نیاز‬ ‫که‬ ‫هایی‬ ‫اپلیکیشن‬‫با‬HDFS‫نمی‬ ‫کار‬ ‫کنند‬. •‫کوچک‬ ‫فایل‬ ‫زیاد‬ ‫تعداد‬:‫که‬ ‫جایی‬ ‫آن‬ ‫از‬namenode‫های‬ ‫فایل‬ ‫تعداد‬ ‫محدودیت‬ ‫شود‬ ‫می‬ ‫داری‬ ‫نگه‬ ‫اصلی‬ ‫حافظه‬ ‫در‬ ‫حافظه‬ ‫ان‬‫ز‬‫می‬ ‫به‬ ‫سیستم‬namenode‫دارد‬ ‫بستگی‬. •‫تصادفی‬ ‫صورت‬ ‫به‬ ‫ها‬ ‫فایل‬ ‫در‬‫تغییر‬ ‫نویسنده؛‬ ‫چند‬:‫در‬ ‫ها‬ ‫فایل‬HDFS‫شوند‬ ‫می‬ ‫نوشته‬ ‫منبع‬ ‫یک‬ ‫توسط‬.‫همیشه‬ ‫شود‬ ‫می‬ ‫اضافه‬ ‫فایل‬ ‫انتهای‬ ‫به‬ ‫محتویات‬(Append.)‫کرد‬ ‫ایجاد‬ ‫ات‬‫ر‬‫تغیی‬ ‫فایل‬ ‫از‬ ‫خاصی‬ ‫آفست‬ ‫در‬ ‫توان‬ ‫نمی‬.
  • 4. ‫مفاهیم‬HDFS •Block:‫است‬ ‫دیسک‬ ‫در‬ ‫نوشتن‬ ‫و‬ ‫خواندن‬ ‫واحد‬ ‫ترین‬ ‫کوچک‬ ‫بالک‬.‫معموال‬ ‫دیسک‬ ‫بالک‬512‫در‬ ‫است‬ ‫بایت‬ ‫است‬ ‫دیسک‬ ‫بالک‬ ‫از‬ ‫ضریبی‬ ‫معموال‬ ‫فایل‬ ‫سیستم‬ ‫بالک‬ ‫که‬ ‫حالی‬. •HDFS‫بزرگ‬ ‫اندازه‬ ‫با‬ ‫منتها‬ ‫دارد‬ ‫را‬ ‫بالک‬ ‫مفهوم‬ ‫هم‬128‫مگابایت‬(‫فرض‬ ‫پیش‬)‫در‬ ‫ها‬ ‫فایل‬ ،HDFS‫بالک‬ ‫اندازه‬ ‫به‬ ‫هایی‬ ‫قطعه‬ ‫در‬ ‫شوند‬ ‫می‬ ‫ذخیره‬.‫کند‬ ‫نمی‬ ‫اشغال‬ ‫را‬ ‫آن‬ ‫تمام‬ ‫بالک‬ ‫از‬‫کمتر‬ ‫انداز‬ ‫با‬ ‫فایلی‬ ‫دیسکی‬ ‫تک‬ ‫فایل‬ ‫سیستم‬ ‫برخالف‬.‫ان‬‫این‬ ‫به‬ ‫بالک‬ ‫دازه‬ ‫بال‬ ‫ابتدای‬ ‫به‬ ‫رسیدن‬ ‫زمان‬ ‫از‬‫بیشتر‬ ‫خیلی‬ ‫بایستی‬ ‫بالک‬ ‫تمام‬ ‫خواندن‬ ‫زمان‬ ‫که‬ ‫است‬ ‫بزرگ‬ ‫سیستم‬ ‫در‬ ‫دلیل‬‫باشد‬ ‫ک‬. •‫محدودی‬ ‫تعداد‬ ‫در‬ ‫بالک‬‫هر‬ ،‫رود‬ ‫نمی‬ ‫بین‬ ‫از‬ ‫افزاری‬ ‫سخت‬ ‫های‬ ‫ابی‬‫ر‬‫خ‬ ‫در‬ ‫بالک‬ ‫اینکه‬ ‫از‬ ‫اطمینان‬ ‫ای‬‫ر‬‫ب‬(‫معموال‬3)‫مجزا‬ ‫ماشین‬ ‫شود‬ ‫می‬ ‫کپی‬.
  • 5. Namenode‫و‬Datanode •:Namenode‫نام‬ ‫فضای‬(namespace)‫فای‬ ‫و‬ ‫ها‬ ‫کتوری‬‫دایر‬ ‫متادیتای‬ ‫و‬ ‫کند‬ ‫می‬ ‫مدیریت‬ ‫را‬ ‫فایل‬ ‫سیستم‬‫را‬ ‫ها‬ ‫ل‬ ‫کند‬ ‫می‬ ‫داری‬ ‫نگه‬ ‫فایل‬ ‫سیستم‬ ‫در‬. •‫قالب‬ ‫در‬ ‫محلی‬ ‫دیسک‬ ‫در‬ ‫دائمی‬ ‫صورت‬ ‫به‬ ‫اطالعات‬ ‫این‬2‫شوند‬ ‫می‬ ‫داری‬ ‫نگه‬ ‫فایل‬:namespace image‫و‬edit log‫همچنین‬ ، namenode‫تمام‬datanode‫شناسد‬ ‫می‬ ‫را‬ ‫خاص‬ ‫فایل‬ ‫یک‬ ‫به‬ ‫مربوط‬ ‫های‬. •Datanode:‫ش‬ ‫ذخیره‬ ‫های‬ ‫بالک‬ ‫گزارش‬ ‫ارائه‬ ‫و‬ ‫اخوانی‬‫ر‬‫ف‬ ‫هنگام‬ ‫در‬ ‫بالک‬ ‫بازیابی‬ ‫و‬ ‫داری‬ ‫نگه‬ ‫اش‬ ‫وظیفه‬‫در‬ ‫ده‬ ‫به‬ ‫زمانی‬ ‫های‬ ‫فاصله‬namenode‫است‬.
  • 6. ‫از‬ ‫محافظت‬namenode •‫بدون‬namenode‫گردد‬ ‫می‬ ‫بالاستفاده‬ ‫فایل‬ ‫سیستم‬.‫بایستی‬ ‫دلیل‬ ‫همین‬ ‫به‬namenode‫شدن‬ ‫اب‬‫ر‬‫خ‬ ‫از‬ ‫را‬ ‫داشت‬ ‫برحذر‬.‫منظور‬ ‫بدین‬Hadoop‫کند‬ ‫می‬ ‫اهم‬‫ر‬‫ف‬ ‫را‬ ‫امکان‬ ‫دو‬: •1-‫سیستم‬ ‫متادیتای‬ ‫از‬ ‫گیری‬ ‫پشتیبان‬:‫شود‬ ‫می‬ ‫ذخیره‬ ‫متفاوت‬ ‫فایل‬ ‫های‬ ‫سیستم‬ ‫در‬ ‫که‬. •2-‫از‬ ‫استفاده‬namenode‫ثانویه‬:‫یک‬ ‫مثل‬ ‫نامش‬ ‫برخالف‬ ‫که‬namenode‫کند‬ ‫نمی‬ ‫عمل‬.‫تصویر‬ ‫ادغام‬ ‫آن‬ ‫اصلی‬ ‫وظیفه‬ namenode‫با‬edit log‫اندازه‬ ‫تا‬ ‫است‬edit log‫نشود‬ ‫بزرگ‬ ‫خیلی‬.Namenode‫شود‬ ‫می‬ ‫ساخته‬ ‫مجزایی‬ ‫ماشین‬ ‫روی‬ ‫ثانویه‬.
  • 7. ‫بالک‬ ‫کردن‬ ‫کش‬ •‫اصلی‬ ‫حافظه‬ ‫در‬ ‫را‬ ‫شوند‬ ‫می‬ ‫دسترسی‬ ‫زیاد‬ ‫که‬ ‫هایی‬ ‫بالک‬ ‫توان‬ ‫می‬datanode‫کرد‬ ‫ذخیره‬. •‫تواند‬ ‫می‬ ‫کار‬ ‫زمانبند‬Task‫روی‬ ‫را‬ ‫ها‬datanode‫اند‬ ‫کرده‬ ‫کش‬ ‫را‬ ‫بالک‬ ‫که‬ ‫کند‬ ‫ا‬‫ر‬‫اج‬ ‫هایی‬. •‫بگیرد‬ ‫اختیار‬ ‫در‬ ‫را‬ ‫منابع‬ ‫از‬ ‫استفاده‬ ‫و‬ ‫ها‬ ‫کش‬ ‫دسترسی‬ ‫مدیریت‬ ‫تواند‬ ‫می‬ ‫کش‬ ‫مخزن‬ ‫یک‬.
  • 8. HDFS Federation‫و‬HA •HDFS Federation:‫چند‬ ‫بزرگ‬ ‫خیلی‬ ‫کالسترهای‬ ‫در‬ ‫که‬ ‫دهد‬ ‫می‬ ‫را‬ ‫امکان‬ ‫این‬namenode‫هر‬ ‫و‬ ‫باشیم‬ ‫داشته‬ namenode‫بگیرد‬ ‫اختیار‬ ‫در‬ ‫را‬ ‫فایل‬ ‫سیستم‬ ‫نام‬ ‫فضای‬ ‫از‬ ‫قسمتی‬ ‫مدیریت‬.‫یکی‬ ‫مثال‬/user‫کتوری‬‫دایر‬ ‫و‬ ‫ها‬ ‫فایل‬ ‫و‬ ‫دیگری‬ ‫و‬ ‫آن‬ ‫درون‬ ‫های‬/share •HDFS High Availability (HA):‫متادیتای‬ ‫کردن‬ ‫کپی‬ ‫کیب‬‫تر‬namenode‫از‬ ‫استفاده‬ ‫و‬ ‫فایل‬ ‫سیستم‬ ‫چند‬ ‫روی‬ namenode‫ساخت‬ ‫ای‬‫ر‬‫ب‬ ‫ثانویه‬checkpoint‫دادن‬ ‫دست‬ ‫از‬‫ابر‬‫ر‬‫ب‬ ‫در‬ ‫را‬ ‫سیستم‬namenode‫کند‬ ‫می‬ ‫بیمه‬.‫اگر‬ ‫اما‬ namenode‫بازیابی‬ ‫در‬‫تاخیر‬ ‫دلیل‬ ‫به‬ ‫سیستم‬ ‫بیفتد‬ ‫کار‬ ‫از‬namenode(‫تا‬ ‫بزرگ‬ ‫های‬ ‫سیستم‬ ‫در‬ ‫که‬30‫یا‬ ‫دقیقه‬ ‫ببرد‬ ‫زمان‬ ‫تواند‬ ‫می‬‫بیشتر‬)‫شود‬ ‫می‬ ‫روبرو‬ ‫بزرگی‬ ‫مشکل‬ ‫با‬. •Hadoop‫کردن‬ ‫اضافه‬ ‫با‬ ‫را‬ ‫مشکل‬ ‫این‬HA‫جفت‬ ‫یک‬ ‫آن‬ ‫در‬ ‫که‬ ‫است‬ ‫کرده‬ ‫حل‬namenode‫فعال‬ ‫های‬ ‫حالت‬ ‫در‬-‫کار‬ ‫به‬ ‫آماده‬ ‫دارند‬ ‫وجود‬.‫که‬ ‫وقتی‬namenode‫شد‬ ‫مشکل‬ ‫دچار‬ ‫فعال‬namenode‫شود‬ ‫می‬ ‫اندازی‬ ‫راه‬ ‫توجه‬ ‫قابل‬‫تاخیر‬ ‫بدون‬ ‫کار‬ ‫به‬ ‫آماده‬. •‫اندازی‬ ‫راه‬ ‫ای‬‫ر‬‫ب‬HA‫است‬ ‫الزم‬‫زیر‬ ‫ات‬‫ر‬‫تغیی‬ ‫بعضی‬. •Namenode‫اک‬‫ر‬‫اشت‬ ‫ای‬‫ر‬‫ب‬ ‫اکی‬‫ر‬‫اشت‬ ‫حافظه‬ ‫دارای‬ ‫باید‬edit log‫باشد‬.edit log‫آخرین‬ ‫بازیابی‬ ‫ای‬‫ر‬‫ب‬ ‫افتادگی‬ ‫کار‬ ‫از‬ ‫هنگام‬ ‫در‬ ‫وضعیت‬namenode‫شود‬ ‫می‬ ‫استفاده‬ ‫اصلی‬. •Datanode‫دو‬‫هر‬ ‫به‬ ‫را‬ ‫ها‬ ‫بالک‬ ‫ارش‬‫ز‬‫گ‬ ‫باید‬ ‫ها‬namenode‫بدهند‬. •Client‫ابی‬‫ر‬‫خ‬ ‫بتوانند‬ ‫باید‬ ‫ها‬namenode‫کنند‬ ‫مدیریت‬ ‫را‬. •‫اکی‬‫ر‬‫اشت‬ ‫حافظه‬ ‫ای‬‫ر‬‫ب‬ ‫انتخاب‬ ‫دو‬HA‫دارد‬ ‫وجود‬:1-NFS Filer2-QJM
  • 9. ‫کردن‬ ‫قرنطینه‬ ‫و‬ ‫تشخیص‬namenode‫معیوب‬ •Failover:‫یک‬job‫هر‬ ‫در‬ ‫کوچک‬namenode‫ابی‬‫ر‬‫خ‬ ‫تشخیص‬ ‫اش‬ ‫وظیفه‬ ‫که‬ ‫است‬namenode‫است‬. Failover‫از‬ ‫معموال‬ ‫ها‬ZooKeeper‫شدن‬ ‫معیوب‬ ‫تشخیص‬ ‫ای‬‫ر‬‫ب‬namenode‫کنند‬ ‫می‬ ‫استفاده‬. •Fencing:‫ناخواسته‬ ‫ات‬‫ر‬‫تغیی‬ ‫ایجاد‬ ‫مانع‬ ‫که‬ ‫است‬ ‫متدی‬namenode‫موجب‬ ‫است‬ ‫ممکن‬ ‫که‬ ‫معیوب‬ ‫شود‬ ‫می‬ ،‫گردد‬‫کالستر‬ ‫در‬ ‫مشکل‬.
  • 10. ‫رابط‬Command-Line •‫اندازی‬ ‫راه‬ ‫از‬ ‫پس‬Hadoop‫با‬ ‫کار‬ ‫ای‬‫ر‬‫ب‬ ‫مختلفی‬ ‫های‬ ‫رابط‬ ‫از‬ ‫توان‬ ‫می‬ ‫سیستم‬ ‫روی‬‫استفاده‬ ‫فایل‬ ‫سیستم‬ ‫کرد‬.‫آن‬ ‫ترین‬ ‫مهم‬Command line‫است‬. •‫فایل‬ ‫سیستم‬ ‫ابتدایی‬ ‫های‬ ‫فرمان‬ ‫از‬ ‫تعدادی‬: •fs‫فایل‬ ‫سیستم‬ ‫فرمان‬ ‫خط‬Hadoop‫کند‬ ‫می‬ ‫اخوانی‬‫ر‬‫ف‬ ‫را‬‫ج‬ ‫خود‬ ‫در‬ ‫فایل‬ ‫سیستم‬ ‫در‬ ‫کار‬ ‫ای‬‫ر‬‫ب‬ ‫دستور‬‫زیر‬ ‫تعدادی‬ ‫که‬‫ای‬ ‫است‬ ‫داده‬. • % hadoop fs -copyFromLocal input/docs/quangleLocal.txt /user/tom/quangleHDFS.txt •‫محلی‬‫مسیر‬ ‫از‬ ‫را‬ ‫فایل‬(‫پوشه‬input)‫روی‬ ‫شده‬ ‫تعیین‬ ‫آدرس‬ ‫به‬HDFS‫کند‬ ‫می‬ ‫منتقل‬. • % hadoop fs -copyToLocal quangleHDFS.txt quangleLocal.txt •‫کالستر‬ ‫از‬ ‫را‬ ‫فایل‬Hadoop‫کند‬ ‫می‬ ‫کپی‬ ‫محلی‬ ‫فایل‬ ‫سیستم‬ ‫به‬. • % hadoop fs -mkdir books ‫سازد‬ ‫می‬ ‫فایل‬ ‫سیستم‬ ‫در‬ ‫پوشه‬ ‫یک‬. • % hadoop fs -ls . • Found 2 items • drwxr-xr-x - tom supergroup 0 2014-10-04 13:22 books • -rw-r--r-- 1 tom supergroup 119 2014-10-04 13:21 quangleHDFS.txt •‫خروجی‬ ‫در‬ ‫اول‬ ‫ستون‬namenode‫فایل‬ ‫از‬ ‫ها‬ ‫کپی‬ ‫تعداد‬ ‫دوم‬ ‫ستون‬ ،‫کند‬ ‫می‬ ‫مشخص‬ ‫را‬ ‫فایل‬ ‫های‬ ‫دسترسی‬(‫پ‬ ‫ای‬‫ر‬‫ب‬‫وشه‬ ‫ها‬‫در‬ ‫چون‬namenode‫است‬ ‫معنی‬ ‫بی‬ ‫ستون‬ ‫این‬ ‫دارند‬ ‫ار‬‫ر‬‫ق‬)‫مشخص‬ ‫را‬ ‫آن‬ ‫گروه‬ ‫و‬‫کاربر‬ ‫چهارم‬ ‫و‬ ‫سوم‬ ‫ستون‬ ،‫کن‬ ‫می‬‫د‬. ‫نام‬ ‫و‬‫تغییر‬ ‫آخرین‬ ‫زمان‬ ‫و‬ ‫تاریخ‬ ،‫بایت‬ ‫به‬ ‫اندازه‬ ‫ها‬ ‫ستون‬ ‫بقیه‬‫پوشه‬-‫کند‬ ‫می‬ ‫مشخص‬ ‫را‬ ‫فایل‬.
  • 11. ‫فایل‬ ‫سیستم‬ ‫های‬ ‫دسترسی‬ •‫یک‬ ‫پوشه‬ ‫یا‬ ‫فایل‬‫هر‬owner،group‫و‬mode‫دارد‬.mode‫کاربر‬ ‫ای‬‫ر‬‫ب‬ ‫که‬ ‫است‬ ‫هایی‬ ‫دسترسی‬ ‫مجموعه‬ ‫هستند‬ ‫مالک‬ ‫کاربری‬ ‫گروه‬ ‫عضو‬ ‫نه‬ ‫و‬ ‫هستند‬ ‫مالک‬ ‫نه‬ ‫که‬ ‫انی‬‫ر‬‫کارب‬ ‫و‬ ‫مالک‬ ‫کاربری‬ ‫گروه‬ ،‫مالک‬‫نظر‬ ‫در‬ ‫شود‬ ‫می‬ ‫گرفته‬. •‫است‬ ‫آمده‬‫زیر‬ ‫جدول‬ ‫در‬ ‫ها‬ ‫پوشه‬ ‫و‬ ‫فایل‬ ‫های‬ ‫دسترسی‬: ‫پوشه‬ ‫فایل‬ ‫دسترسی‬ ‫پوشه‬ ‫محتویات‬ ‫خواندن‬ ‫فایل‬ ‫خواندن‬ ‫خواندن‬(r) ‫پو‬ ‫های‬ ‫فایل‬ ‫کردن‬ ‫اضافه‬ ‫و‬ ‫حذف‬‫شه‬ ‫نوشتن‬‫فای‬ ‫در‬‫ل‬ ‫نوشتن‬(w) ‫فرزندان‬ ‫به‬ ‫دسترسی‬ ‫وجود‬‫ندارد‬ ‫کردن‬ ‫ا‬‫ر‬‫اج‬(x)
  • 12. ‫فایل‬ ‫های‬ ‫سیستم‬Hadoop •Hadoop‫که‬ ‫است‬ ‫کرده‬ ‫تعریف‬ ‫فایل‬ ‫سیستم‬ ‫نوع‬ ‫چند‬HDFS‫است‬ ‫آن‬ ‫نمونه‬ ‫یک‬ ‫تنها‬. •Hadoop‫قالب‬ ‫از‬URI‫کند‬ ‫می‬ ‫استفاده‬ ‫فایل‬ ‫سیستم‬ ‫کردن‬ ‫پیدا‬ ‫ای‬‫ر‬‫ب‬.‫کرد‬ ‫لیست‬ ‫ای‬‫ر‬‫ب‬ ‫مثال‬‫های‬ ‫فایل‬ ‫ن‬ root‫کنیم‬ ‫می‬ ‫وارد‬ ‫را‬‫زیر‬ ‫دستور‬ ‫محلی‬ ‫دیسک‬ ‫روی‬: • % hadoop fs –ls file:///
  • 13. ‫فایل‬ ‫های‬ ‫سیستم‬Hadoop ‫توضیحات‬ ‫پیاده‬‫سازی‬Java(‫تحت‬org.apache.hadoop) ‫قالب‬URI ‫فایل‬ ‫سیستم‬ ‫سیستم‬‫کنترل‬ ‫با‬ ‫محلی‬ ‫دیسک‬ ‫ای‬‫ر‬‫ب‬ ‫فایلی‬checksum‫محلی‬ fs.LocalFileSystem file Local ‫توزیع‬ ‫فایل‬ ‫سیستم‬‫شده‬Hadoop.‫با‬ ‫شده‬ ‫هماهنگ‬MapReduce hdfs.DistributedFileSystem hdfs HDFS ‫سیستم‬‫از‬ ‫خواندن‬ ‫امکان‬ ‫که‬ ‫فایلی‬HDFS‫کند‬ ‫می‬ ‫اهم‬‫ر‬‫ف‬ ‫را‬ ‫هویت‬ ‫از‬‫ر‬‫اح‬ ‫امکان‬ ‫با‬. hdfs.web.WebHdfsFileSystem webhdfs WebHDFS ‫نسخه‬HTTPS‫از‬WebHDFS hdfs.web.SWebHdfsFileSystem swebhdfs Secure WebHDFS ‫سیستم‬‫را‬ ‫ها‬ ‫فایل‬ ‫و‬ ‫شود‬ ‫می‬ ‫سوار‬ ‫دیگری‬ ‫فایل‬ ‫سیستم‬ ‫روی‬ ‫که‬ ‫فایلی‬‫کاستن‬ ‫ای‬‫ر‬‫ب‬ ‫توسط‬ ‫شده‬ ‫استفاده‬ ‫حافظه‬ ‫از‬namenode‫کند‬ ‫می‬ ‫آرشیو‬. fs.HarFileSystem har HAR ‫یک‬‫فایل‬ ‫های‬ ‫سیستم‬‫سایر‬ ‫ای‬‫ر‬‫ب‬ ‫کالینت‬ ‫سمت‬ ‫اتصال‬ ‫جدول‬Hadoop.‫معموال‬ ‫به‬ ‫اتصال‬ ‫نقطه‬ ‫ساختن‬ ‫ای‬‫ر‬‫ب‬Federated namenode‫می‬ ‫استفاده‬‫شود‬. viewfs.ViewFileSystem viewfs View ‫با‬ ‫که‬ ‫فایلی‬ ‫سیستم‬FTP‫شود‬ ‫می‬ ‫گردانده‬‫بر‬ fs.ftp.FTPFileSystem ftp FTP ‫سیستم‬‫فایل‬Amazon S3 fs.s3a.S3AFileSystem s3a S3 ‫سیستم‬‫فایل‬Microsoft Azure fs.azure.NativeAzureFileSystem wasb Azure ‫سیستم‬‫فایل‬OpenStack Swift fs.swift.snative.SwiftNativeFileSystem swift Swift
  • 14. ‫رابط‬ 1 ‫های‬HDFS •Hadoop‫است‬ ‫شده‬ ‫نوشته‬ ‫جاوا‬ ‫به‬. •‫های‬ ‫رابط‬‫در‬ ‫زیادی‬Hadoop‫به‬ ‫دسترسی‬ ‫ای‬‫ر‬‫ب‬HDFS‫اند‬ ‫شده‬ ‫نوشته‬. •HTTP:‫به‬ ‫دسترسی‬ ‫امکان‬ ‫جاوا‬‫غیر‬ ‫های‬ ‫برنامه‬ ‫به‬ ‫که‬ ‫است‬ ‫رابطی‬HDFS‫پروتکل‬ ‫طریق‬ ‫از‬ ‫را‬ HDFS REST API‫دهد‬ ‫می‬.‫به‬ ‫دسترسی‬ ‫ای‬‫ر‬‫ب‬ ‫راه‬ ‫دو‬HDFS‫طریق‬ ‫از‬HTTP‫دارد‬ ‫وجود‬. •‫مستقیم‬:‫زمینه‬ ‫پس‬ ‫های‬ ‫پردازش‬(daemons)HDFS‫های‬ ‫درخواست‬ ‫مستقیم‬ ‫صورت‬ ‫به‬HTTP‫رسیدگی‬ ‫را‬ ‫کنند‬ ‫می‬. •‫غیرمستقیم‬:‫طریق‬ ‫از‬proxy. •C:Hadoop‫کتابخانه‬ ‫یک‬C‫نام‬ ‫به‬libfs‫به‬ ‫دسترسی‬ ‫ای‬‫ر‬‫ب‬HDFS‫فایل‬ ‫های‬ ‫سیستم‬‫سایر‬ ‫و‬ Hadoop‫از‬ ‫که‬ ‫است‬ ‫کرده‬ ‫اهم‬‫ر‬‫ف‬ 2 JNI‫فایل‬ ‫سیستم‬ ‫اخوانی‬‫ر‬‫ف‬ ‫ای‬‫ر‬‫ب‬client‫کند‬ ‫می‬ ‫استفاده‬ ‫جاوا‬. ‫همچنین‬libwebhdfs‫رابط‬ ‫از‬ ‫که‬webhdfs‫است‬ ‫شده‬ ‫معرفی‬ ،‫کند‬ ‫می‬ ‫استفاده‬.1 Interface
  • 15. ‫رابط‬Java •‫فایل‬ ‫های‬ ‫سیستم‬ ‫ای‬‫ر‬‫ب‬ ‫شده‬ ‫شخصی‬ ‫کدهای‬ ‫جاوا‬ ‫کاربری‬ ‫رابط‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫توان‬ ‫می‬Hadoop‫نوشت‬. •‫دستور‬‫زیر‬ ‫مثال‬cat‫در‬ ‫فایل‬ ‫یک‬ ‫محتویات‬ ‫نمایش‬ ‫ای‬‫ر‬‫ب‬HDFS‫استاندار‬ ‫استریم‬ ‫به‬ ‫فایل‬ ‫اتصال‬ ‫طریق‬ ‫از‬ ‫را‬‫د‬ ‫کند‬ ‫می‬ ‫سازی‬ ‫پیاده‬ ‫را‬ ‫خروجی‬. •‫دستور‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫جاوا‬URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());‫فایل‬ ‫سیستم‬ HDFS‫بالک‬ ‫در‬ ‫را‬ ‫آن‬ ‫دلیل‬ ‫همین‬ ‫به‬ ‫پذیرد‬ ‫انجام‬ ‫یکبار‬ ‫باید‬ ‫اخوانی‬‫ر‬‫ف‬ ‫این‬ ،‫شناسد‬ ‫می‬ ‫را‬static‫ایم‬ ‫داده‬ ‫ار‬‫ر‬‫ق‬. • % export HADOOP_CLASSPATH=hadoop-examples.jar ‫فرمان‬ ‫خط‬ ‫در‬ ‫اخوانی‬‫ر‬‫ف‬: • % hadoop URLCat hdfs://localhost/user/tom/quangle.txt 1 1 Source codes at: https://github.com/tomwhite/hadoop-book
  • 17. ‫فایل‬ ‫خواندن‬ ‫ساختار‬ 1-‫تابع‬ ‫زدن‬ ‫صدا‬ ‫با‬ ‫کالینت‬open()‫شی‬ ‫در‬FileSystem‫زند‬ ‫می‬ ‫صدا‬ ‫را‬ ‫بخواند‬ ‫میخواهد‬ ‫که‬ ‫را‬ ‫فایلی‬ ،. 2-DistributedFileSystem،namenode‫طریق‬ ‫از‬ ‫را‬RPC 1 ‫می‬ ‫صدا‬ ‫فایل‬ ‫های‬ ‫بالک‬ ‫اولین‬ ‫مکان‬ ‫کردن‬ ‫مشخص‬ ‫ای‬‫ر‬‫ب‬ ‫زند‬.،‫بالک‬‫هر‬ ‫ای‬‫ر‬‫ب‬namenode‫آدرس‬datanode‫گرداند‬ ‫برمی‬ ‫را‬ ‫دارند‬ ‫را‬ ‫بالک‬ ‫آن‬ ‫از‬ ‫کپی‬ ‫یک‬ ‫که‬ ‫هایی‬. 3-DistributedFileSystem‫یک‬FSDataInputStream‫گرداند‬ ‫می‬‫بر‬ ‫فایل‬ ‫خواندن‬ ‫ای‬‫ر‬‫ب‬ ‫کالینت‬ ‫به‬ ‫را‬. 4-‫کالینت‬read()‫زند‬ ‫می‬ ‫صدا‬ ‫استریم‬ ‫روی‬ ‫را‬.‫طریق‬ ‫از‬ ‫و‬DFSInputStream‫ترین‬ ‫نزدیک‬ ‫به‬datanode‫می‬ ‫وصل‬ ‫شود‬. 5-،‫رسیم‬ ‫می‬ ‫بالک‬ ‫انتهای‬ ‫به‬ ‫وقتی‬DFSInputStream‫به‬ ‫اتصال‬datanode‫بهترین‬ ‫سپس‬ ‫و‬ ‫بندد‬ ‫می‬ ‫را‬datanode‫را‬ ‫کند‬ ‫می‬ ‫پیدا‬ ‫بعدی‬ ‫بالک‬ ‫ای‬‫ر‬‫ب‬. 6-،‫کرد‬ ‫تمام‬ ‫را‬ ‫خواندن‬ ‫کالینت‬ ‫که‬ ‫وقتی‬close()‫از‬ ‫را‬FSDataInputStream‫زند‬ ‫می‬ ‫صدا‬. •‫خواندن‬ ‫طول‬ ‫در‬‫اگر‬DFSInputStream‫از‬ ‫خواندن‬ ‫در‬ ‫خطایی‬ ‫با‬datanode‫می‬ ‫بازیابی‬ ‫را‬ ‫بعدی‬ ‫بالک‬ ‫ترین‬ ‫نزدیک‬ ،‫شد‬ ‫مواجه‬ ‫از‬ ‫و‬ ‫کند‬datanode‫کند‬ ‫می‬‫صرفنظر‬ ‫بعدی‬ ‫های‬ ‫بالک‬ ‫ای‬‫ر‬‫ب‬ ‫است‬ ‫شده‬ ‫مواجه‬ ‫خطا‬ ‫با‬ ‫که‬ ‫ی‬. •DFSInputStream،checksum‫کند‬ ‫می‬ ‫چک‬‫نیز‬ ‫را‬ ‫بالک‬.‫از‬ ‫دیگری‬ ‫کپی‬ ‫کند‬ ‫می‬ ‫سعی‬ ‫شد‬ ‫یافت‬ ‫ابی‬‫ر‬‫خ‬ ‫بالک‬‫اگر‬datanode ‫به‬ ‫را‬ ‫ابی‬‫ر‬‫خ‬ ‫و‬ ‫بخواند‬namenode‫کند‬ ‫ارش‬‫ز‬‫گ‬. 1 Remote Procedure Call
  • 18. ‫ای‬ ‫شبکه‬ ‫توپولوژی‬Hadoop •Hadoop‫ترین‬ ‫نزدیک‬ ‫کند‬ ‫می‬ ‫سعی‬node‫را‬‫خواندن‬ ‫ای‬‫ر‬‫ب‬‫بالک‬‫کند‬ ‫معرفی‬.‫منظور‬ ‫بدین‬Hadoop ‫کند‬ ‫می‬ ‫تقسیم‬‫زیر‬ ‫های‬ ‫دسته‬ ‫به‬ ‫را‬ ‫ها‬ ‫پردازش‬: •1-‫یک‬ ‫به‬ ‫متعلق‬ ‫های‬ ‫پردازش‬node. •2-node‫یک‬ ‫مختلف‬ ‫های‬rack. •3-node‫با‬ ‫هایی‬rack‫متفاوت‬. •4-node‫متفاوت‬‫دیتاسنتر‬ ‫با‬ ‫هایی‬(Hadoop‫ندارد‬ ‫را‬ ‫قابلیت‬ ‫این‬ ‫هنوز‬.)
  • 20. ‫فایل‬ ‫در‬ ‫نوشتن‬ ‫ساختار‬ 1-‫زدن‬ ‫صدا‬ ‫با‬ ‫را‬ ‫فایل‬ ‫کالینت‬create()‫از‬DistributedFileSystem‫سازد‬ ‫می‬.DistributedFileSystem‫یک‬RPC‫صدا‬ ‫ای‬‫ر‬‫ب‬ ‫را‬ ‫زدن‬namenode‫در‬ ‫جدیدی‬ ‫فایل‬ ‫که‬ ‫سازد‬ ‫می‬namespace‫بسازد‬. 2-namenode‫س‬ ‫اجازه‬ ‫کالینت‬ ‫و‬ ‫است‬ ‫نداشته‬ ‫وجود‬ ‫قبل‬ ‫از‬ ‫فایل‬ ‫که‬ ‫شود‬ ‫مطمئن‬ ‫تا‬ ‫دهد‬ ‫می‬ ‫انجام‬ ‫مختلفی‬ ‫های‬ ‫بررسی‬‫اخت‬ ‫دارد‬ ‫را‬ ‫فایل‬.DistributedFileSystem‫یک‬FSDataOutputStream‫گرداند‬ ‫می‬‫بر‬ ‫اطالعات‬ ‫نوشتن‬ ‫ای‬‫ر‬‫ب‬ ‫کالینت‬ ‫به‬ ‫را‬. 3-‫نویسد‬ ‫می‬ ‫را‬ ‫ها‬ ‫داده‬ ‫کالینت‬ ‫که‬ ‫وقتی‬DFSOutputStream‫ن‬ ‫به‬ ‫داخلی‬ ‫صف‬ ‫یک‬ ‫در‬ ‫که‬ ‫کند‬ ‫می‬ ‫تقسیم‬ ‫هایی‬ ‫بسته‬ ‫به‬ ‫را‬ ‫آن‬‫ام‬ data queue‫شود‬ ‫می‬ ‫نوشته‬.Data queue‫توسط‬DataStreamer‫از‬ ‫لیستی‬ ‫که‬ ‫شود‬ ‫می‬ ‫خوانده‬datanode‫ای‬‫ر‬‫ب‬ ‫مناسب‬ ‫های‬ ‫دهد‬ ‫می‬ ‫را‬ ‫ها‬ ‫کپی‬ ‫داری‬ ‫نگه‬. 4-‫لیست‬datanode‫یک‬ ‫ها‬pipeline‫سازد‬ ‫می‬ ‫را‬.‫تعداد‬datanode‫های‬pipeline‫ار‬‫ر‬‫تک‬ ‫درجه‬ ‫اندازه‬ ‫به‬(replication level) ‫فرض‬ ‫پیش‬ ‫طور‬ ‫به‬ ‫که‬ ‫است‬3‫است‬.‫اولین‬ ‫از‬ ‫سپس‬datanode‫در‬pipeline‫شود‬ ‫می‬ ‫استریم‬ ‫آن‬ ‫آخرین‬ ‫تا‬.‫به‬ ‫دومی‬ ،‫دومی‬ ‫به‬ ‫اولی‬ ‫و‬ ‫سومی‬... 5-DFSOutputStream‫صف‬ ‫یک‬ack‫توسط‬ ‫شدن‬ ‫شناخته‬‫منتظر‬ ‫که‬ ‫هایی‬ ‫بسته‬ ‫لیست‬ ‫آن‬ ‫در‬ ‫که‬ ‫سازد‬ ‫می‬datanode‫هستند‬ ‫ها‬ ‫شود‬ ‫می‬ ‫وارد‬.‫لیست‬ ‫از‬ ‫صورتی‬ ‫در‬ ‫بسته‬ ‫یک‬ack‫تمام‬ ‫توسط‬ ‫که‬ ‫شود‬ ‫می‬ ‫حذف‬datanode‫های‬pipeline‫باشد‬ ‫شده‬ ‫شناسایی‬. 6-‫کند‬ ‫می‬ ‫تمام‬ ‫را‬ ‫ها‬ ‫داده‬ ‫نوشتن‬ ‫کالینت‬ ‫که‬ ‫وقتی‬close()‫کند‬ ‫می‬ ‫اخوانی‬‫ر‬‫ف‬ ‫استریم‬ ‫روی‬ ‫را‬. 7-‫روی‬ ‫باقیمانده‬ ‫های‬ ‫بسته‬ ‫تمام‬ ‫عمل‬ ‫این‬pipeline‫به‬ ‫مربوط‬datanode‫به‬ ‫را‬datanode‫بسته‬ ‫شدن‬ ‫شناخته‬‫منتظر‬ ‫و‬ ‫فرستد‬ ‫می‬ ‫با‬ ‫ارتباط‬ ‫از‬ ‫قبل‬ ‫ها‬namenode‫شود‬ ‫می‬ ‫فایل‬ ‫تکمیل‬ ‫اعالن‬ ‫ای‬‫ر‬‫ب‬.Namenode‫اند‬ ‫شده‬ ‫ساخته‬ ‫هایی‬ ‫بالک‬ ‫چه‬ ‫داند‬ ‫می‬ ‫قبل‬ ‫از‬.
  • 21. ‫بالک‬ ‫ار‬‫ر‬‫تک‬ ‫سیاست‬ •‫همان‬ ‫در‬ ‫معموال‬ ‫بالک‬ ‫اولین‬node‫کالس‬ ‫از‬ ‫خارج‬ ‫کالینت‬‫اگر‬ ‫یا‬ ‫است‬ ‫فرستاده‬ ‫را‬ ‫نوشتن‬ ‫درخواست‬ ‫که‬ ‫شود‬ ‫می‬ ‫نوشته‬ ‫ی‬‫بود‬‫تر‬ ‫یک‬ ‫در‬node‫شود‬ ‫می‬ ‫نوشته‬ ‫تصادفی‬. •‫در‬ ‫دوم‬ ‫بالک‬rack‫از‬‫غیر‬ ‫دیگری‬rack‫اولین‬node‫شود‬ ‫می‬ ‫نوشته‬. •‫در‬ ‫سوم‬ ‫بالک‬node‫از‬ ‫تصادفی‬rack‫به‬ ‫مربوط‬node‫شود‬ ‫می‬ ‫نوشته‬ ‫دوم‬. •‫در‬ ‫بعد‬ ‫های‬ ‫بالک‬node‫شود‬ ‫می‬ ‫نوشته‬‫کالستر‬ ‫روی‬ ‫تصادفی‬ ‫های‬.
  • 22. ‫موازی‬ ‫کپی‬ •‫دستور‬ ‫از‬ ‫توان‬ ‫می‬distcp‫موازی‬ ‫کپی‬ ‫ای‬‫ر‬‫ب‬(‫نخی‬ ‫چند‬)‫کرد‬ ‫استفاده‬.‫کر‬ ‫کپی‬ ‫ای‬‫ر‬‫ب‬ ‫دستور‬ ‫این‬ ‫از‬ ‫توان‬ ‫می‬ ‫مثال‬ ‫ای‬‫ر‬‫ب‬‫فایل‬ ‫دن‬ ‫کرد‬ ‫استفاده‬‫زیر‬ ‫شیوه‬ ‫به‬ ‫ها‬ ‫پوشه‬ ‫های‬: • % hadoop distcp dir1 dir2 •‫از‬distcp‫شود‬ ‫می‬ ‫استفاده‬ ‫گرفتن‬ ‫آپ‬ ‫بک‬ ‫یا‬ ‫کالسترها‬ ‫بین‬ ‫اطالعات‬ ‫انتقال‬ ‫ای‬‫ر‬‫ب‬ ‫معموال‬. • % hadoop distcp -update -delete -p hdfs://namenode1/foo hdfs://namenode2/foo •Hadoop‫باش‬ ‫شده‬ ‫توزیع‬ ‫یکنواخت‬ ‫صورت‬ ‫به‬‫کالستر‬‫تاسر‬‫ر‬‫س‬ ‫در‬ ‫ای‬ ‫داده‬ ‫های‬ ‫بالک‬ ‫که‬ ‫کند‬ ‫می‬ ‫عمل‬ ‫بهینه‬ ‫زمانی‬‫ند‬.
  • 23. ‫منابع‬ • White, Tom. Hadoop: The definitive guide, 4th edition. " O'Reilly Media, Inc.", 2015.