آزمایش اجرای MapReduce بر روی رزبری پای

Raspberrypi-HadoopMapReduce

همیشه این فرض وجود داشته که آیا برای استفاده از هدوپ و اجرای یک عمل MapReduce نیازمند سخت افزارهای گران و قدرتمند هستیم؟ ما در این آزمایش قصد داریم چگونگی اجرای یک عمل MapReduce را بر روی یک دستگاه کامپیوتر کوچک رزبری پای امتحان کنیم.

رزبری پای چیست؟

برد Raspberry Pi يک برد پردازشگر در ابعاد يک کارت اعتباري است. هدف از توليد اين برد ترويج آموزش علوم کامپيوتر و الکترونيک در مدارس و دانشگاه هاست. این کامپیوتر کوچک دارای پردازشگری با قدرت ۷۰۰ مگاهرتز و ۵۱۲ مگابایت رم می باشد.
اين برد از سيستم عامل‌هاي Debian GNU/Linux، Raspbian، Fedora،Arch Linux ARM، RISC OS، Free BSD و Plan9 پشتيباني مي‌کند.

شروع کار

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

۱. آی پی رزبری پای ما ۱۹۲.۱۶۸.۱.۱۵۵ می باشد. با استفاده از ssh می بایست به این آی پی وصل شویم تا دسترسی خط فرمان به کامپیوتر رزبری پای داشته باشیم:

ssh pi@192.168.1.155
  • pi نام کاربری پیش‌فرض رزبری پای می‌باشد.

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

پس از اجرای این دستور خط فرمان کامپیوتر رزبری در اختیار ما قرار میگیرد:

pic1

۲. با استفاده از دستور cd به پوشه ای که هدوپ در آن قرار گرفته می رویم. فایل‌های اجرایی که می‌توان با هدوپ کار کرد در پوشه bin قرار گرفته است:

pic2

۳. در بسته هدوپ مثال‌های آماده‌ای وجود دارد که می‌توان از آن‌ها برای شروع استفاده کرد. ما هم می‌خواهیم از مثال آماده MapReduce که در پوشه share/hadoop/mapreduce موجود می‌باشد استفاده کنیم:

pic3

فایل اجرایی مثال MapReduce در این پوشه با نام hadoop-mapreduce-examples-2.7.1.jar می باشد.

۴. حالا نوبت به اجرای این مثال می رسد. دقت کنید که ما در حال حاضر در پوشه share/hadoop/mapreduce هستیم و باید به پوشه bin برگردیم. ولی نیازی به برگشت نیست و می‌توانیم مستقیماً مثال را از همین پوشه اجرا کنیم. در این فایل مثال‌های متعددی برای MapReduce وجود دارد که در هنگام اجرای این مثال باید ذکر شود که قصد اجرای کدام مثال را داریم.
ما می‌خواهیم که مثال مشهور شمارش کلمات یا wordcount را اجرا کنیم. برای اجرای این مثال نیازمند یک فایل ورودی می باشیم. برای اینکار با فایلی در پوشه home می‌سازیم با محتوای زیر:

hello world bye world salam jahan khodahafez jahan

ما این فایل را با نام file1 در پوشه /home/pi ذخیره می‌کنیم و در نهایت مثال MapReduce را با استفاده از دستور زیر اجرا می کنیم:

 

pi@raspberrypi ~/hadoop/share/hadoop/mapreduce $ ../../../bin/hadoop jar hadoop-mapreduce-examples-2.7.1.jar wordcount /home/pi/file1 /home/pi/output
  • با دستور ../../../ به پوشه که فایل اجرایی هدوپ در آن قرار گرفته است بر میگردیم.
  • Hadoop jar در‌ واقع فایل برنامه ما که با مدل MapReduce در جاوا نوشته شده است اجرا می کند. فایل برنامه ما hadoop-mapreduce-examples-2.7.1.ja می باشد.
  • پس از آن می بایست به فایل برنامه بگوییم از کدام مثال می‌خواهیم استفاده کنیم. که در اینجا مثال ما wordcount است.
  • همانطور که گفتیم این مثال نیازمند یک فایل ورودی متنی است. فایل ورودی که ساختیم در پوشه /home/pi/ قرار دارد.
  • در انتها می بایست یک پوشه ای که از قبل وجود ندارد را به فایل برنامه معرفی کنیم تا فایل خروجی برنامه در این پوشه قرار گیرد.


۵. در نهایت به پوشه خروجی می‌رویم و نتیجه را مشاهده می کنیم. در این پوشه ۲ فایل وجود دارد که در تصویر زیر مشاهده می کنید.

pic4

نتیجه برنامه ما در فایل part-r-00000 قرار دارد. اگر این فایل را با یک برنامه ویرایشگر متنی باز میکنیم نتیجه را به این صورت مشاهده می کنیم:

Bye     1
Hello   1
Jahan   2
Khodahafez      1
Salam   1
World   2

این خروجی حاکی از اجرای درست برنامه MapReduce ما دارد. اجرای این برنامه بر روی یک کامپیوتر رزبری پای با پردازنده ۷۰۰ مگاهرتز و ۵۱۲ مگابایت حافظه رم ، به مدت 603 میلی ثانیه طول کشید.

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

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *