خصم ٥٠٪ على جميع الخطط، لفترة محدودة. يبدأ من $2.48/mo
١٣ دقيقة للقراءة
قواعد البيانات والتحليلات

كيفية تثبيت Hadoop على Ubuntu: دليل شامل

بيوس بودنمان By بيوس بودنمان قراءة في ١٣ دقيقة تحديث ١ مايو ٢٠٢٤
كيفية تثبيت hadoop على ubuntu linux

في الوقت الحالي، حين يتوسع أي عمل أو مشروع حاسوبي ليتجاوز ما تستطيع معالجته آلة واحدة، نلجأ فوراً إلى ربط عدة أجهزة في شبكة واحدة لتوزيع الحِمل بكفاءة أكبر. أصبح هذا النهج معياراً راسخاً، حتى إن مجالات كعلم البيانات باتت تعتمد عليه بالكامل تقريباً. غير أن الأداء الجيد لهذه الشبكات لا يأتي بلا ثمن: فأنت مضطر إلى ضبط كل جهاز على حدة ثم إدارة الشبكة بأكملها طوال تنفيذ المهام. هنا يبرز دور برامج مثل Hadoop.

Hadoop هو مجموعة أدوات وبرامج أصدرتها Apache، تتيح ربط عدد من الأجهزة معاً في شبكة واحدة بكفاءة أعلى وبجهد أقل. في هذا المقال، سأستعرض Hadoop وحالات استخدامه، وأناقش مزاياه وعيوبه، وأقدّم نظرة عامة على بنيته المتقدمة، ثم أنتقل إلى دليل خطوة بخطوة لتثبيت Hadoop على Ubuntu 20.04، لأختم بذلك هذا الدليل الشامل لعام ٢٠٢٤.

ما هو Apache Hadoop؟

Hadoop، مجموعة الأدوات التي طوّرتها Apache، تُغيّر طريقة بناء الشبكات واستخدامها منذ أكثر من ١٥ عاماً. يستطيع المستخدمون الاستفادة من كفاءة Hadoop في إدارة الموارد، إذ يمكنهم توظيف قدراتهم الحاسوبية الحالية في المهام المكثّفة دون الحاجة إلى ترقيات مكلفة. تتكوّن المجموعة من أربعة وحدات: HDFS وYARN وMapReduce وHadoop Common، كلٌّ منها مصمَّم لحالات استخدام محددة.

تكمن قيمة Hadoop الحقيقية في كفاءته في إدارة الموارد؛ إذ يُمكّن الأفراد والمؤسسات من دمج قدراتهم الحاسوبية الموجودة في منظومة عمل واحدة، قادرة على معالجة التحديات الحسابية الضخمة. من دون Hadoop، سيجد هؤلاء أنفسهم مضطرين إلى اقتناء أجهزة أكثر قدرةً وأعلى تكلفة.

حالات استخدام Hadoop

الآن نعرف ما هو Hadoop. لكن كيف تتجلّى حالات استخدامه في الواقع العملي؟ فهم البرنامج نظرياً أمر مفيد، لكنه لا يُغني عن إدراك إمكاناته ضمن بيئة عمل فعلية. لذا سأقدّم بعض الأمثلة قبل الانتقال إلى دليل Hadoop.

تحليل المخاطر

كما أشرنا سابقاً، يتيح Hadoop توظيف قدرات عدة أجهزة معاً ضمن شبكة واحدة، لمعالجة دُفعات كبيرة من البيانات وتحليلها بسرعة أكبر من المعتاد. في أي مؤسسة، ثمة مخاطر تستوجب التحليل والحساب، وهنا يبرز Hadoop بوضوح. بل إن كثيراً من المستشفيات الموثوقة تستخدمه لتحليل مخاطر العلاجات المختلفة وتقدير النتائج المحتملة والإحصاءات المتعلقة بعملياتها الطبية لصالح مرضاها.

اكتشاف الاختراقات الأمنية

مع ازدياد عدد الأجهزة المتصلة بالشبكة داخل أي مؤسسة، تتعدد نقاط الضعف الأمنية المحتملة. ومن أبرز استخدامات Hadoop تقييم البنية التشغيلية بأكملها من خلال تحليل دُفعات كبيرة من البيانات، والكشف عن نقاط الضعف في النظام.

تحليل التقييمات

تعتمد كثير من المؤسسات على تقييمات العملاء لتحسين منتجاتها أو بناء استراتيجيات تسويقية جديدة. في حين يستغرق المراجع البشري وقتاً طويلاً لتغطية ملفات تقييم ضخمة، يُنجز Hadoop هذه المهمة بسرعة أكبر بكثير باستغلال قدرات الشبكة.

تحليل السوق

بالحديث عن استراتيجيات التسويق، فإن تحليل التقييمات لا يُقارن بحجم الموارد اللازمة لدراسة السوق وتقييم فرص نجاح منتج جديد فيه. وهنا يتألق Hadoop من جديد، إذ يُمكّن حتى الشركات الناشئة الصغيرة من تحليل السوق بكفاءة باستخدام عدد من الأجهزة، وفي وقت مناسب.

فحص ملفات السجلات

من الجوانب التي تزداد تعقيداً مع نمو المؤسسات، حجم البرمجيات التي تُستخدم على نطاق واسع داخلها. كثرة البرمجيات تعني مزيداً من الأخطاء البرمجية المحتملة وعقبات الأداء، وتستلزم موظفاً متخصصاً لإدارة ملفات السجلات ومعالجة المشكلات. هذه العملية مُضنية وتستهلك وقتاً طويلاً، لكن باتباع بعض البروتوكولات البسيطة، يمكن للمؤسسة استخدام Hadoop لمراجعة ملفات السجلات بسرعة، واكتشاف هذه الأخطاء والتخلص منها.

ثمة حالات استخدام وتطبيقات أخرى كثيرة لـ Hadoop، لكننا لن نتوسع فيها حفاظاً على تركيز المقال.

نظرة عامة على معمارية Hadoop

لنفترض أنك سمعت عن Hadoop وحالات استخدامه العامة. وحتى لو لم تكن قد فعلت، فإن هذا المقال قد غطّى ذلك حتى الآن. لكنك تحتاج الآن إلى فهم أعمق لما يتكوّن منه Hadoop فعلياً وكيف تعمل كل جزء منه مع الأجزاء الأخرى. كما ذكرنا، يتكوّن Hadoop من أربع طبقات رئيسية؛ وفي هذا الجزء من الدليل سنتعرّف على HDFS (نظام الملفات الموزّع) وYARN (Yet Another Resource Negotiator) وMapReduce وHadoop Common. غير أن Hadoop Common لا يحتوي على عدد كبير من الميزات التي تستوجب الشرح المفصّل، لذا تُعرف مكوّناته الأساسية بـ Zookeeper. في هذا القسم سأحاول شرح بنية Hadoop المتقدمة وبيئته بأسلوب مبسّط، قبل الانتقال إلى كيفية تثبيت Hadoop على Ubuntu 20.04.

HDFS

يُشكّل HDFS ضمن بيئة Hadoop نظام التخزين الرئيسي الذي تعتمد عليه جميع مكوّنات Hadoop وتطبيقاته في الوصول إلى البيانات ونقلها وحفظها. والنقطة الجوهرية في بنية HDFS أنه، على خلاف Hadoop نفسه الذي يعمل وفق مبدأ المصدر المفتوح، يُمثّل HDFS نظام الملفات المسؤول عن تشغيل جميع العمليات الأساسية داخل مجموعة Hadoop الواحدة. وهو نظام ملفات بالغ المرونة، يُقسّم دُفعات البيانات إلى أجزاء بحجم ١٢٨ MB، ويُحسّنها لتناسب العمليات القائمة على التسلسل.

الدور الرئيسي لـ HDFS في Hadoop هو تقديم جميع البيانات ضمن رف بيانات شامل، يمكن معالجته عبر namenodes متعددة ورفوف ثانوية لتقسيمه إلى أقسام فرعية لتنظيم عملية تحليل البيانات. يمكنك بعد ذلك الاستفادة من خيارات أخرى مثل رفوف Journal وQJM وHA وملفات fsimage وسجلات التعديل والسجل الرئيسي لتتبع جميع العمليات وتنفيذ مهام أخرى.

YARN

YARN هو فرع تنفيذي آخر في Hadoop، يُستخدم لتخصيص كميات محددة من الموارد الحاسوبية للتطبيقات المختلفة داخل بيئة Hadoop. يُتيح لك في جوهره استخدام مدير موارد لعملاءك لتوزيع هذه الموارد عبر مجموعة من العُقد على مهام وتطبيقات متعددة. يحتوي YARN أيضاً على سجل يشبه ذلك الموجود في HDFS، يُمكّنك من تتبع جميع الموارد والعمليات المخصصة. ينقسم YARN إلى ثلاثة أقسام فرعية: مدير الموارد (Resource Manager)، ومدير التطبيق (Application Master)، ومدير العقدة (Node Manager).

كل قسم من هذه الأقسام الثلاثة ينشئ نسخة جديدة من نفسه لكل مجموعة وتطبيق وعقدة على التوالي. لا يقتصر YARN على تخصيص الموارد للمهام المختلفة، بل يُمكّنك أيضاً من جدولة هذه الموارد وتعديلها بمرور الوقت لبناء سير عمل خوارزمية متقدمة. كما أن YARN لا يعمل بمعزل عن باقي المكوّنات، فستجد في كثير من الحالات أنك تستخدمه جنباً إلى جنب مع طبقات معمارية أخرى كـ HDFS وZookeeper لتخصيص الموارد وتقييم العمليات الكلية.

Hadoop MapReduce

Hadoop MapReduce هو مكوّن رئيسي آخر في بيئة Hadoop. بمجرد تثبيت Hadoop على Ubuntu، يمكنك استخدام هذه الميزة لتحليل دُفعات ضخمة من البيانات بأسلوب موزّع عبر عدة أجهزة. يعمل Hadoop MapReduce على النحو التالي: تُدخل خريطة بيانات ضخمة إلى البرنامج، فتُعاد خلطها وتقسيمها وتوزيعها على الأجهزة المتصلة بالشبكة. بعد ذلك، وباستخدام بروتوكولات محددة تُعرف بـ reducers، تُختزل البيانات إلى مكوّناتها الأساسية. كل عملية من هذه العمليات تُسمى Job.

لنفترض أن لديك جملة من ثلاث كلمات تمثّل خريطة البيانات التي تريد تحليلها بـ MapReduce. لنقل إن الجملة هي Bear Hunt Rabbit. سيُقسّم Hadoop MapReduce هذه الجملة إلى ثلاث دُفعات منفصلة تحتوي كل منها على كلمة واحدة، ثم يستخدم هذه الكلمات لإنشاء تركيبات جديدة مع بيانات مدخلات مشابهة من المهام الأخرى، لينتج دُفعة بيانات موحّدة نهائية خالية من البيانات غير الضرورية وجاهزة للتحليل.

Zookeeper

Zookeeper هو قسم فرعي آخر في بيئة Hadoop، برز واتسع استخدامه مع إصدار Hadoop الإصدار ٢٫٠. تتمثّل الوظيفة الرئيسية لـ Zookeeper في تنسيق العمليات المختلفة التي تُشغّلها ضمن نسخة Hadoop واحدة. لذلك، يُستخدم Zookeeper دائماً تقريباً جنباً إلى جنب مع مدير الموارد في YARN ومكوّنات HDFS المختلفة. يتمثّل الدور الأساسي لـ Zookeeper في هذه العمليات في اكتشاف نقاط الفشل المحتملة ومعالجتها، وللقيام بذلك يعتمد على أداتين: ZKFailoverController وZookeeper Quorum.

في هذه الإجراءات، تُصنَّف عُقد البيانات التي تُديرها مكوّنات أخرى في بنية Hadoop على أنها namenodes نشطة، يُشرف عليها المستخدم. بعد ذلك، تخضع كل namenode من هذه الـ namenodes للفحص ضمن القسمين الفرعيين المذكورَين من Zookeeper، بهدف تحديد مواطن الصعوبة والكشف عن نقاط الفشل المحتملة.

تثبيت Hadoop على Ubuntu 20.04 – دليل خطوة بخطوة

بعد التعرف على معمارية Hadoop، حان الوقت للانتقال إلى صلب الموضوع: كيفية تثبيت Hadoop على Ubuntu 20.04 كالجزء الأخير من هذا الدليل التعليمي. سنستعرض المتطلبات الأساسية أولاً قبل الدخول في الخطوات التفصيلية. تجدر الإشارة إلى أن هذا الدليل يصلح أيضاً لـ Ubuntu 18.04.

المتطلبات الأساسية

متطلبات تثبيت Hadoop على Ubuntu بسيطة. كل ما تحتاجه هو جهاز يعمل بـ Ubuntu مع صلاحيات root، سواء أكان الوصول محلياً أم عن بُعد عبر خادم VPS. أما على صعيد البرامج المطلوبة مسبقاً، فتأكد من تثبيت Java 11 و SSH. إن لم يكونا مثبَّتَين، نفّذ الأوامر التالية واحداً تلو الآخر:

sudo apt update && sudo apt upgrade -y
sudo apt install openssh-server openssh-client -y
sudo apt install openjdk-11-jdk -y

أما الترخيص، فلا داعي له على الإطلاق، إذ إن Hadoop مجاني ومفتوح المصدر. هذا كل ما تحتاجه. لننتقل إلى الخطوة الأولى.

الخطوة الأولى: إنشاء مستخدم غير جذري لـ Hadoop

أنشئ مستخدماً غير root مخصصاً لـ Hadoop بالأمر التالي. هذا جزء من الإعدادات الأولية التي يجب إجراؤها قبل تنزيل Hadoop وتثبيته:

sudo adduser hdoop
su - hdoop

الخطوة الثانية: إعداد مفاتيح SSH

لتثبيت Hadoop على Ubuntu، سنستخدم مستخدم Hadoop الذي أنشأته للتو لإنشاء اتصال SSH. نفّذ هذا الأمر لتوليد زوج مفاتيح SSH وحفظه:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

بعد توليد المفاتيح، يتيح لك السطر التالي وضع علامة عليها بوصفها authorized_keys وحفظها في مجلد SSH الخاص بك:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

نفّذ هذا الأمر للتأكد من أن اتصال SSH يمتلك كافة الأذونات المطلوبة:

chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

أكّد التغييرات وستتمكن من الاتصال بـ localhost في أي وقت بالمستخدم الذي أنشأته:

ssh localhost

الخطوة الثالثة: تنزيل Hadoop وتثبيته على Ubuntu

يمكنك زيارة موقع Apache Hadoop الرسمي للاطلاع على قائمة الإصدارات مع سجلات التغييرات الأخيرة. اختر الإصدار الذي يناسبك وستحصل على رابط يمكن استخدامه مع الأمر التالي لتنزيل Hadoop وتثبيته على Ubuntu. سنختار هنا الإصدار 3.3.6. استبدل '3.3.6' بأحدث إصدار مستقر عند الحاجة:

wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz

بعد اكتمال التنزيل، نفّذ هذا الأمر لإتمام عملية الاستخراج والتثبيت:

tar xzf hadoop-3.3.6.tar.gz
sudo mv hadoop-3.3.6 /usr/local/hadoop
sudo chown -R hdoop:hdoop /usr/local/hadoop

الخطوة الرابعة: ضبط بيئة Hadoop

عيّن JAVA_HOME in /usr/local/hadoop/etc/hadoop/hadoop-env.sh:

echo 'export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")' | sudo tee -a /usr/local/hadoop/etc/hadoop/hadoop-env.sh

الخطوة الخامسة: تعديل ملفات الإعداد

حدّث ملفات إعداد XML الخاصة بـ Hadoop بإعدادات الكتلة لديك.

nano /usr/local/hadoop/etc/hadoop/core-site.xml

الخطوة السادسة: تهيئة HDFS

هيّئ نظام ملفات Hadoop.

/usr/local/hadoop/bin/hdfs namenode -format

الخطوة السابعة: تشغيل خدمات Hadoop

شغّل خدمات HDFS و YARN.

/usr/local/hadoop/sbin/start-dfs.sh
/usr/local/hadoop/sbin/start-yarn.sh

الخطوة الثامنة: التحقق من صحة التثبيت

تحقق من عمليات Java الجارية للتأكد من تشغيل Hadoop.

jps

الخطوة التاسعة: الوصول إلى الواجهات الرسومية عبر الويب

افتح المتصفح وانتقل إلى واجهتَي NameNode و ResourceManager في Hadoop.

NameNode: http://localhost:9870
مدير الموارد: http://localhost:8088

الخطوة العاشرة: تشغيل مثال MapReduce

نفِّذ مهمة MapReduce تجريبية للتحقق من صحة الإعداد.

/usr/local/hadoop/bin/hdfs dfs -mkdir /input
/usr/local/hadoop/bin/hdfs dfs -put localfile.txt /input
/usr/local/hadoop/bin/hadoop jar
/usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar grep /input /output 'dfs[a-z.]+'
/usr/local/hadoop/bin/hdfs dfs -cat /output/*

الخطوة ١١: تعيين متغيرات البيئة

أضف مسارات bin و sbin الخاصة بـ Hadoop إلى متغير PATH في النظام.

echo 'export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin' >> ~/.bashrc
source ~/.bashrc

هذا كل شيء! لقد نجحت في تكوين Apache Hadoop وتثبيته على Ubuntu 20.04!

خلاصة

خلاصة القول، تثبيت Hadoop على Ubuntu 20.04 عملية دقيقة تستلزم اهتمامًا بالتفاصيل واستعدادًا للتعمق في خيارات الإعداد. باتباع الخطوات الواردة في هذا الدليل، يستطيع مستخدمو Ubuntu الاستفادة الكاملة من إمكانيات Hadoop في تحليل البيانات.

توصيتي هي نشر Hadoop بوصفه نشرًا أحادي العقدة باستخدام التوزيع المحدود إذا كنت تريد التعلم والتجربة فحسب. لهذا الغرض، سيكون VPS مناسبًا تمامًا لاحتياجاتك. تتيح لك Cloudzy مجموعة من خدمات Linux VPS بما فيها خيار موثوق ومحكم Ubuntu VPS يمكن إعداده في وقت قصير ليصبح بيئة مثالية لتعلم Hadoop. ابتداءً من 4.95 دولار في الشهر، احصل على Ubuntu VPS الخاص بك مع أكثر من 12 موقعًا ودعم فني على مدار الساعة طوال أيام الأسبوع!

ubuntu-vps الخيار الواضح

غالبية خوادم Linux تعمل بـUbuntu، فلماذا لا تفعل الأمر نفسه؟ اكتشف ما يجعل الجميع يختارون Ubuntu واحصل على VPS Ubuntu مُحسَّن.

احصل على Ubuntu VPS

الأسئلة الشائعة

ما الفرق بين HDFS وMapReduce؟

على الرغم من انتماء كلا المكونين إلى بيئة Hadoop، فإن لكل منهما دورًا مختلفًا. يعمل HDFS كنظام ملفات موزع يتيح الوصول إلى البيانات، في حين يتميز MapReduce بتقسيم البيانات الضخمة وتحليلها بكفاءة.

هل يُعدّ Hadoop قاعدة بيانات؟

Hadoop ليس قاعدة بيانات، وإن كان هذا الفهم الخاطئ شائعًا. في الحقيقة، هو نظام ملفات موزع يتيح تخزين كميات ضخمة من البيانات ومعالجتها عبر شبكة من الحواسيب المترابطة. لا ينبغي استخدامه بديلًا مباشرًا عن أنظمة قواعد البيانات التقليدية.

ما المكوّنات الأربعة الرئيسية لـ Hadoop؟

يتكون Hadoop من أربعة مكونات رئيسية: HDFS (نظام الملفات الموزع لـ Hadoop)، وYARN (منسق الموارد)، وMapReduce، وHadoop Common. يُضاف إلى ذلك أن بعض المصادر تعتبر ZooKeeper مكونًا أساسيًا، وإن لم يُصنَّف رسميًا بهذه الصفة.

أين يُستخدم Hadoop عادةً؟

يُستخدم Hadoop في مجالات متعددة تتطلب إدارة البيانات الضخمة وتخزينها ومعالجتها وتحليلها. يخدم احتياجات شريحة واسعة، من الشركات متوسطة الحجم والمستشفيات إلى الشركات الناشئة، ويوفر حلولًا مبنية على البيانات.

مشاركة

المزيد من المدونة

تابع القراءة.

الشعار الأصلي لـ MongoDB معروضاً على خادم بتصميم مستقبلي، يُجسّد تثبيت MongoDB على Ubuntu، مع شعار Cloudzy وعنوان المقال ووصف موجز لمحتواه.
قواعد البيانات والتحليلات

كيفية تثبيت MongoDB على أحدث ثلاث إصدارات من Ubuntu (خطوة بخطوة)

إذا قررت استخدام MongoDB كبديل مميز عن MariaDB لبناء تطبيق MERN أو منصة تحليلات أو أي نظام يعتمد على المستندات، لكنك وجدت صعوبة في إيجاد مصادر جيدة

جيم شوارتزجيم شوارتز ١٢ دقيقة للقراءة
إدارة بيانات الأعمال بذكاء: استراتيجيات تخزين ونسخ احتياطي بأسلوب "السحابة" مع VPS
قواعد البيانات والتحليلات

إدارة بيانات الأعمال بذكاء: استراتيجيات تخزين ونسخ احتياطي بأسلوب "السحابة" مع VPS

استخدام VPS لإدارة بيانات الأعمال بأمان هو التوجه الذي أوصي به في كل مرة تقرر فيها شركة التوقف عن تشتيت ملفاتها بين أجهزة اللابتوب ومرفقات البريد الإلكتروني والمجلدات المنسية

ريكسا سيروسريكسا سيروس ٧ دقائق للقراءة
Materialized View مقابل View
قواعد البيانات والتحليلات

Materialized View مقابل View: فهم دورهما في قواعد البيانات

في أنظمة قواعد البيانات، يُخزّن الـ Materialized View نتائج استعلام محسوبة مسبقاً على شكل جدول مادي. ولأن البيانات مخزّنة فعلياً على القرص، فإن الاستعلامات المعقدة

آيفي جونسونآيفي جونسون ٧ دقائق للقراءة

هل أنت مستعد للنشر؟ يبدأ من ٢٫٤٨ دولار/شهر.

سحابة مستقلة منذ ٢٠٠٨. AMD EPYC، NVMe، 40 Gbps. ضمان استرداد المبلغ لمدة ١٤ يومًا.