1. قم بإعداد SSH
تثبيت حزم البرامج ذات الصلة بـ SSH:
انسخ الكود كما يلي: Sudo apt-get install openssh-client openssh-server
ثم ابدأ/أوقف تشغيل sshd باستخدام أحد الأمرين التاليين:
انسخ الكود كما يلي: sudo /etc/init.d/ssh start|stop
خدمة Sudo ssh start|stop
إذا تم تشغيل sshd بنجاح، يمكننا أن نرى نتائج مشابهة لما يلي:
انسخ الكود كما يلي: $ ps -e |
2766 00:00:00 وكيل سش
10558 00:00:00 سشد
في هذا الوقت، إذا قمت بتشغيل أمر ssh التالي لتسجيل الدخول إلى الجهاز، فستتم مطالبتك بإدخال كلمة المرور:
انسخ الكود كما يلي: ssh localhost
الآن كل ما علينا فعله هو جعله لا يتطلب كلمة مرور:
انسخ الكود كما يلي: $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa # كلمة مرور فارغة مفتاح SSH
$ القط ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
هذا كل شيء. إذا ظل الأمر لا يعمل، فقد يكون تم تعيين الأذونات على ملف المفتاح بشكل غير صحيح.
2. تكوين hadoop
قم بفك ضغط hadoop-1.2.1 إلى ~/، وقم بإنشاء الدليل hadoop-env ضمن ~/. استمر في إنشاء بنية الدليل التالية ضمن hadoop-env:
├── دي إف إس
│ ├── نقطة التفتيش1
│ ├── البيانات1
│ ├── البيانات2
│ └── الاسم1
└── اختبار
└── الإدخال
ملف التكوين hadoop-1.2.1/conf/core-site.xml:
انسخ رمز الكود كما يلي:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- ضع تجاوزات الخصائص الخاصة بالموقع في هذا الملف -->
<التكوين>
<خاصية>
<الاسم>fs.default.name</الاسم>
<value>hdfs://localhost:9000</value>
<نهائي>صحيح</نهائي>
</خاصية>
</التكوين>
يحدد fs.default.name عنوان URL لـ HDFS. إذا لم يتم توفير أي منفذ في القيمة، فإن القيمة الافتراضية هي 8020.
ملف التكوين hadoop-1.2.1/conf/hdfs-site.xml:
انسخ رمز الكود كما يلي:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- ضع تجاوزات الخصائص الخاصة بالموقع في هذا الملف -->
<التكوين>
<خاصية>
<name>dfs.name.dir</name>
<value>~/hadoop-env/dfs/name1</value>
<نهائي>صحيح</نهائي>
</خاصية>
<خاصية>
<name>dfs.data.dir</name>
<value>~/hadoop-env/dfs/data1,~/hadoop-env/dfs/data2</value>
<نهائي>صحيح</نهائي>
</خاصية>
<خاصية>
<name>fs.checkpoint.dir</name>
<value>~/hadoop-env/dfs/checkpoint1</value>
<نهائي>صحيح</نهائي>
</خاصية>
</التكوين>
يحدد dfs.name.dir الدليل الذي يمكن من خلاله تخزين البيانات الوصفية. ويجب فصل هذه الدلائل بفواصل؛ ويحدد dfs.data.dir الدليل الذي يمكن من خلاله تخزين بيانات متعددة. يحدد "checkpoint.dir" الدليل الذي يقوم الاسم المساعد بتخزين نقاط التفتيش فيه.
ملف التكوين hadoop-1.2.1/conf/mapred-site.xml:
انسخ رمز الكود كما يلي:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- ضع تجاوزات الخصائص الخاصة بالموقع في هذا الملف -->
<التكوين>
<خاصية>
<name>mapred.job.tracker</name>
<value>المضيف المحلي:9001</value>
<نهائي>صحيح</نهائي>
</خاصية>
</التكوين>
3. الاختبار
الصيغة الأولى HDFS:
انسخ الكود كما يلي: ./hadoop-1.2.1/bin/hadoop namenode -format
ابدأ عمليات HDFS وMapReduce:
انسخ رمز الكود كما يلي:
$ ./hadoop-1.2.1/bin/start-dfs.sh
$ ./hadoop-1.2.1/bin/start-mapred.sh
إذا تم الإبلاغ عن خطأ أثناء بدء التشغيل، مثل المضيف المحلي: خطأ: لم يتم تعيين JAVA_HOME.، فأنت بحاجة إلى تصدير JAVA_HOME في ملف ./hadoop-1.2.1/conf/hadoop-env.sh، على سبيل المثال:
تصدير Java_HOME=~/jdk1.7.0_25
كيفية التحقق من بدء التشغيل بنجاح: الطريقة الأولى هي استخدام الأمر jps (أداة حالة عملية الجهاز الظاهري لـ Java) ويجب أن يكون هناك إخراج مشابه لما يلي:
انسخ رمز الكود كما يلي:
$ جبس
13592 عقدة البيانات
13728 اسم ثانوي.عقدة
13837 تعقب الوظائف
12864 عقدة الاسم
13955 تعقب المهام
16069 جبس
الطريقة الثانية هي تسجيل الدخول إلى المتصفح على http://localhost:50030 لعرض jobtracker وhttp://localhost:50070 لعرض رمز الاسم. إذا كنت تستخدم برنامج التحايل، فقد تحصل على خطأ عند الوصول. الحل الأبسط هو إيقاف تشغيل برنامج التحايل. هناك طريقة أخرى وهي عرض ملف السجل.
نقوم الآن بإنشاء ملفين في الدليل ~/hadoop-env/test/input:
انسخ رمز الكود كما يلي:
$ صدى "مرحبا بالعالم"> test1.txt
$ صدى "مرحبا، العالم"> test2.txt
قم باستيراد هذين الملفين إلى HDFS:
انسخ رمز الكود كما يلي:
./hadoop-1.2.1/bin/hadoop dfs -وضع hadoop-env/test/input/output/
يفحص:
انسخ رمز الكود كما يلي:
$ ./hadoop-1.2.1/bin/hadoop dfs -ls /
تم العثور على 2 العناصر
drwxr-xr-x - مجموعة المستخدم الفائقة 0 2013-10-22 22:07 /اختبار
drwxr-xr-x - مجموعة المستخدم الفائقة 0 2013-10-22 21:58 /tmp
$ ./hadoop-1.2.1/bin/hadoop dfs -ls /test
تم العثور على 2 العناصر
-rw-r--r-- 3 مستخدمين supergroup 12 2013-10-22 22:07 /test/test1.txt
-rw-r--r-- 3 مستخدمين supergroup 9 2013-10-22 22:07 /test/test2.txt
حسنًا، اكتمل التكوين.
ملاحظة: النظام المستخدم في هذه المقالة هو linux mint 15 64bit، ويستخدم hadoop الإصدار 1.2.1.