كيفية تثبيت هادوب على Ubuntuخطوات التنزيل والتثبيت
⚡ ملخص ذكي
تثبيت Apache Hadoop على Ubuntu يتطلب الأمر عمليتي فك ضغط الإصدار تحت حساب نظام مخصص باستخدام SSH بدون كلمة مرور، ثم تحرير أربعة ملفات XML قبل تهيئة HDFS وبدء تشغيل مجموعة العقدة الواحدة.
في هذا الدرس التعليمي، سنشرح لكم بالتفصيل عملية تثبيت Apache Hadoop على جهاز يعمل بنظام Linux (Ubuntu). هذه عملية من جزأين: أولاً تنزيل الإصدار وتثبيته، ثم تهيئته.
هناك شرطان أساسيان:
- يجب أن يكون لديك Ubuntu تثبيت و الركض.
- يجب أن يكون لديك Java تثبيت.
ملاحظات حول إصدار Hadoop 3.x لهذا الإعداد
تم التقاط لقطات الشاشة في هذا الشرح التوضيحي على نظام Hadoop 2.2.0. لم يتغير تسلسل الخطوات في الإصدارات الحالية، ولكن تم تغيير بعض الأسماء والإعدادات الافتراضية. يُرجى مراجعة الجدول أدناه قبل نسخ أي أمر حرفيًا.
| الإعداد أو الخطوة | في هذا الدرس التعليمي (هادوب 2.x) | الإصدار الحالي من هادوب 3.x |
|---|---|---|
| أرشيف الإصدارات | hadoop-2.2.0.tar.gz |
hadoop-3.5.0.tar.gz، الإصدار المستقر الأول 3.5، الذي نُشر في 2 أبريل 2026 |
| خاصية نظام الملفات الافتراضية | fs.default.name في النثر، fs.defaultFS في ملف XML |
fs.defaultFS فقط؛ fs.default.name تم إهماله |
| خاصية MapReduce | mapreduce.jobtracker.address |
mapreduce.framework.name تعيين إلى yarnالوظيفةTracلم يعد ker موجودًا بمجرد أن يقوم YARN بجدولة العمل |
| mapred- site.xml | منسوخ من mapred-site.xml.template |
السفن في etc/hadoop لذا فإن خطوة النسخ غير ضرورية بالفعل |
| منفذ واجهة المستخدم الرسومية لـ NameNode | 50070 | 9870 |
| Java | Java 6 أو Java 7 | Java 8 أو Java 11 |
كل شيء آخر في هذا الدليل يتصرف بنفس الطريقة على Hadoop 3: الحساب المخصص، ومفتاح SSH، وملفات التكوين الأربعة، وبرامج بدء التشغيل والإيقاف.
الجزء 1) تنزيل وتثبيت Hadoop
الخطوة 1) إضافة مستخدم نظام Hadoop
أضف مستخدم نظام Hadoop باستخدام الأمر أدناه.
sudo addgroup hadoop_
sudo adduser --ingroup hadoop_ hduser_
أدخل كلمة المرور والاسم والتفاصيل الأخرى.
NOTE: هناك احتمال لحدوث الخطأ المذكور أدناه في عملية الإعداد والتثبيت هذه.
"hduser غير موجود في ملف sudoers. سيتم الإبلاغ عن هذا الحادث."
يمكن حل هذا الخطأ عن طريق تسجيل الدخول كمستخدم الجذر.
تنفيذ الأمر
sudo adduser hduser_ sudo
Re-login as hduser_
الخطوة 2) تكوين SSH
لإدارة العقد في مجموعة، يتطلب Hadoop الوصول عبر SSH.
أولاً، قم بتبديل المستخدم، وأدخل الأمر التالي
su - hduser_
سيقوم هذا الأمر بإنشاء مفتاح جديد.
ssh-keygen -t rsa -P ""
قم بتمكين الوصول إلى الجهاز المحلي عبر SSH باستخدام هذا المفتاح.
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
الآن اختبر إعداد SSH عن طريق الاتصال بـ localhost كمستخدم 'hduser_'.
ssh localhost
ملاحظة: إذا رأيت الخطأ أدناه استجابةً للأمر 'ssh localhost'، فهناك احتمال أن يكون SSH غير متاح على هذا النظام.
لحل هذه –
تطهير SSH باستخدام،
sudo apt-get purge openssh-server
من الممارسات الجيدة إجراء عملية تنظيف قبل بدء التثبيت.
قم بتثبيت SSH باستخدام الأمر-
sudo apt-get install openssh-server
الخطوة 3) تنزيل Hadoop
الخطوة التالية هي تنزيل هادوب من صفحة إصدارات أباتشي هادوب.
حدد مستقر
حدد ملف tar.gz (وليس الملف الذي ينتهي بـ src).
بمجرد اكتمال التنزيل، انتقل إلى الدليل الذي يحتوي على ملف tar.
أدخل،
sudo tar xzf hadoop-2.2.0.tar.gz
الآن، أعد تسمية hadoop-2.2.0 إلى hadoop.
sudo mv hadoop-2.2.0 hadoop
وأخيراً، قم بتسليم المجلد إلى الحساب الجديد.
sudo chown -R hduser_:hadoop_ hadoop
استبدل النسخة التي قمت بتنزيلها بالفعل بـ hadoop-2.2.0 في الأوامر الثلاثة المذكورة أعلاه.
الجزء 2) تكوين Hadoop
الخطوة 1) تعديل ملف ~/.bashrc
أضف الأسطر التالية إلى نهاية الملف ~/.bashrc.
#Set HADOOP_HOME export HADOOP_HOME=<Installation Directory of Hadoop> #Set JAVA_HOME export JAVA_HOME=<Installation Directory of Java> # Add bin/ directory of Hadoop to PATH export PATH=$PATH:$HADOOP_HOME/bin
الآن، قم بتفعيل إعدادات هذه البيئة باستخدام الأمر أدناه.
. ~/.bashrc
الخطوة الثانية) الإعدادات المتعلقة بنظام ملفات Hadoop الموزع (HDFS)
قم بتعيين JAVA_HOME داخل الملف $HADOOP_HOME/etc/hadoop/hadoop-env.sh، كما هو موضح أدناه.
مع
يوجد معياران في الملف $HADOOP_HOME/etc/hadoop/core-site.xml يجب ضبطهما-
1. 'hadoop.tmp.dir' – يستخدم لتحديد دليل سيتم استخدامه بواسطة Hadoop لتخزين ملفات البيانات الخاصة به.
2. 'fs.defaultFS' – يحدد هذا الخيار نظام الملفات الافتراضي. أما الاسم القديم لنفس الخاصية، 'fs.default.name'، فقد أصبح مهملاً.
لتعيين هذه المعلمات، افتح core-site.xml
sudo gedit $HADOOP_HOME/etc/hadoop/core-site.xml
انسخ الأسطر أدناه بين الوسوم.
<property> <name>hadoop.tmp.dir</name> <value>/app/hadoop/tmp</value> <description>Parent directory for other temporary directories.</description> </property> <property> <name>fs.defaultFS </name> <value>hdfs://localhost:54310</value> <description>The name of the default file system. </description> </property>
انتقل إلى الدليل $HADOOP_HOME/etc/hadoop.
الآن، قم بإنشاء الدليل المذكور في ملف core-site.xml.
sudo mkdir -p <Path of Directory used in above setting>
امنح صلاحيات الوصول إلى الدليل.
sudo chown -R hduser_:Hadoop_ <Path of Directory created in above step>
sudo chmod 750 <Path of Directory created in above step>
الخطوة 3) تهيئة MapReduce
قبل أن تبدأ بهذه الإعدادات، دعنا نحدد مسار HADOOP_HOME.
sudo gedit /etc/profile.d/hadoop.sh
وأدخل
export HADOOP_HOME=/home/guru99/Downloads/Hadoop
بعد ذلك أدخل
sudo chmod +x /etc/profile.d/hadoop.sh
أغلق نافذة الطرفية وأعد تشغيلها مرة أخرى.
اكتب echo $HADOOP_HOME للتحقق من المسار.
الآن قم بنسخ الملفات
sudo cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml
افتح ملف mapred-site.xml
sudo gedit $HADOOP_HOME/etc/hadoop/mapred-site.xml
أضف الإعدادات أدناه بين و الوسوم.
<property> <name>mapreduce.jobtracker.address</name> <value>localhost:54311</value> <description>MapReduce job tracker runs at this host and port. </description> </property>
افتح الملف $HADOOP_HOME/etc/hadoop/hdfs-site.xml كما هو موضح أدناه،
sudo gedit $HADOOP_HOME/etc/hadoop/hdfs-site.xml
أضف الإعدادات أدناه بين و الوسوم.
<property> <name>dfs.replication</name> <value>1</value> <description>Default block replication.</description> </property> <property> <name>dfs.datanode.data.dir</name> <value>/home/hduser_/hdfs</value> </property>
أنشئ الدليل المحدد في الإعداد أعلاه.
sudo mkdir -p <Path of Directory used in above setting>
sudo mkdir -p /home/hduser_/hdfs
ثم امنح الملكية والصلاحيات اللازمة.
sudo chown -R hduser_:hadoop_ <Path of Directory created in above step>
sudo chown -R hduser_:hadoop_ /home/hduser_/hdfs
sudo chmod 750 <Path of Directory created in above step>
sudo chmod 750 /home/hduser_/hdfs
الخطوة الرابعة) تهيئة نظام ملفات Hadoop الموزع (HDFS)
قبل أن نبدأ تشغيل Hadoop لأول مرة، قم بتهيئة HDFS باستخدام الأمر أدناه.
$HADOOP_HOME/bin/hdfs namenode -format
الخطوة 5) ابدأ تشغيل مجموعة عقدة واحدة من Hadoop
ابدأ تشغيل مجموعة Hadoop أحادية العقدة باستخدام الأمر أدناه.
$HADOOP_HOME/sbin/start-dfs.sh
يظهر ناتج الأمر أعلاه أدناه.
ثم ابدأ تشغيل برامج YARN.
$HADOOP_HOME/sbin/start-yarn.sh
باستخدام أداة "jps"، تحقق مما إذا كانت جميع العمليات المتعلقة بـ Hadoop قيد التشغيل.
إذا تم تشغيل Hadoop بنجاح، فيجب أن يسرد إخراج jps كلاً من NameNode و NodeManager و ResourceManager و SecondaryNameNode و DataNode.
الخطوة السادسة) توقفping Hadoop
قم بإيقاف تشغيل المجموعة بالترتيب العكسي.
$HADOOP_HOME/sbin/stop-dfs.sh
$HADOOP_HOME/sbin/stop-yarn.sh
كيفية التحقق من تشغيل هادوب وإصلاح الأخطاء الشائعة
يؤكد ناتج الأمر jps بدء العمليات، لكنه لا يؤكد جاهزية المجموعة للاستخدام. أربع فحوصات إضافية تحسم هذا الأمر.
- افتح واجهة الويب الخاصة بـ NameNode على
http://localhost:9870(المنفذ 50070 على Hadoop 2.x) وتأكد من أن الملخص يشير إلى وجود عقدة نشطة واحدة. - افتح واجهة مدير الموارد على
http://localhost:8088للتأكد من أن YARN قد قبل NodeManager. - يجري
hdfs dfsadmin -reportبالنسبة للسعة، وعقد البيانات النشطة، وأي كتل غير مكررة بشكل كافٍ. - اكتب شيئاً:
hdfs dfs -mkdir /testتليهاhdfs dfs -ls /يثبت ذلك أن مساحة الاسم تقبل التغييرات.
تندرج معظم حالات الفشل في المرة الأولى ضمن إحدى الفئات الخمس.
| عرض | سبب | حل |
|---|---|---|
| لم يتم تعيين متغير البيئة JAVA_HOME ولم يتم العثور عليه | يتم تصدير المتغير في ملف .bashrc ولكن ليس في ملف hadoop-env.sh | قم بتعيين مسار JDK المطلق داخل ملف hadoop-env.sh أيضًا. |
| تم رفض الوصول (المفتاح العام، كلمة المرور) على ssh localhost | مفتاح authorized_keys مفقود أو متساهل للغاية | أعد إضافة id_rsa.pub، ثم نفّذ الأمر chmod 600 على ~/.ssh/authorized_keys |
| تم رفض الاتصال على المنفذ 22 | برنامج openssh-server غير مثبت أو لا يعمل | قم بتثبيت openssh-server وابدأ خدمة ssh |
| تم حذف عقدة البيانات من ملف jps بعد إعادة التنسيق | Cluster عدم تطابق المعرف بين NameNode المنسق ودليل DataNode القديم | قم بإفراغ مجلد dfs.datanode.data.dir، ثم قم بتهيئته مرة أخرى |
| start-dfs.sh: الأمر غير موجود | لم يتم استدعاء متغيري البيئة HADOOP_HOME و PATH في واجهة سطر الأوامر الحالية. | قم بتشغيل ملف .bashrc الموجود في الملف .~/.bashrc أو افتح نافذة طرفية جديدة. |





























