---
title: آموزش نصب Hadoop
description: این راهنما نحوه نصب و اجرای Hadoop روی اوبونتو را به شما آموزش می‌دهد. شما آن را در حالت شبه توزیع‌شده روی یک دستگاه واحد راه‌اندازی خواهید کرد تا بتوانید اصول اولیه را بدون مدیریت چندین سرور یاد بگیرید.
url: "https://www.novinhost.org/docs/how-to-install-hadoop-on-ubuntu/"
updated: "2025-10-26"
category: راهنمای لینوکس / اوبونتو
---

# آموزش نصب Hadoop

## **آموزش نصب Hadoop**

به پردازش مجموعه داده‌های بزرگ در اوبونتو فکر می‌کنید، اما مطمئن نیستید از کجا شروع کنید؟ برای شروع به سخت‌افزار گران‌قیمت یا یک کلاستر پیچیده نیاز ندارید. اگر هدف شما ذخیره و تجزیه و تحلیل حجم عظیمی از داده‌های ساختاریافته یا بدون ساختار است، آپاچی هادوپ یک راه‌حل عملی و مقرون‌به‌صرفه ارائه می‌دهد. این نرم‌افزار، هم ذخیره‌سازی و هم پردازش را با استفاده از یک مدل برنامه‌نویسی ساده توزیع می‌کند و آن را برای حجم کاری داده‌های بزرگ حتی در زیرساخت‌های متوسط ​​​​ایده‌آل می‌کند.

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

چه از یک دسکتاپ محلی استفاده کنید و چه از یک نمونه [**سرور مجازی**](https://www.novinhost.org/vps/) از نوین هاست خریداری کردید ، شما هر مرحله از دستورات و پیکربندی را طی خواهید کرد تا در راه‌اندازی Hadoop در حالت شبه توزیع‌شده مهارت پیدا کنید.

## هادوپ چیست؟

آپاچی هادوپ یک چارچوب متن‌باز است که برای ذخیره و پردازش حجم زیادی از مجموعه داده‌ها، چیزی که ما آن را "کلان داده" می‌نامیم، در میان خوشه‌هایی از رایانه‌ها طراحی شده است. به جای استفاده از یک رایانه بزرگ برای ذخیره و پردازش داده‌ها، هادوپ امکان خوشه‌بندی چندین رایانه را برای تجزیه و تحلیل سریع‌تر مجموعه داده‌های عظیم به صورت موازی فراهم می‌کند. آن را به عنوان یک جعبه ابزار قدرتمند در نظر بگیرید که به بسیاری از ماشین‌ها اجازه می‌دهد تا با هم کار کنند تا مشکلات داده‌ای را که برای یک سرور واحد بسیار بزرگ است، حل کنند.

در هسته خود، Hadoop به شما موارد زیر را ارائه می‌دهد:

- HDFS (سیستم فایل توزیع‌شده‌ی هادوپ): این راهکار ذخیره‌سازی هادوپ است. این سیستم هوشمندانه فایل‌های حجیم را به قطعات کوچک‌تر تقسیم می‌کند و آن‌ها را در چندین ماشین پخش می‌کند و تضمین می‌کند که حتی اگر سرور از کار بیفتد، داده‌های شما ایمن و در دسترس هستند.
- YARN (یکی دیگر از مذاکره‌کنندگان منابع): YARN تمام منابع موجود در کلاستر Hadoop شما، مانند CPU و حافظه را مدیریت می‌کند و تمام وظایفی را که به آن محول می‌کنید، زمان‌بندی می‌کند.
- MapReduce: MapReduce موتور پردازش اصلی Hadoop است. این موتور با شکستن یک کار پردازش داده بزرگ به وظایف کوچک‌تر، نگاشت آن وظایف در گره‌های مختلف برای اجرای موازی و سپس کاهش نتایج به یک خروجی نهایی کار می‌کند.

### هدوپ برای چه مواردی استفاده می‌شود؟

Hadoop ستون فقرات برنامه‌های بی‌شماری در حوزه کلان‌داده است، از جمله:

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

به طور خلاصه، اگر با حجم زیادی از داده‌ها سر و کار دارید و به روشی مقیاس‌پذیر و مقاوم در برابر خطا برای ذخیره و پردازش آنها نیاز دارید، Hadoop راه‌حل مورد نظر شماست. این ابزار به شما امکان می‌دهد بینش‌های ارزشمندی را از اطلاعاتی استخراج کنید که در غیر این صورت غیرقابل مدیریت خواهند بود.

**🇩🇪 [سرور مجازی المان](https://www.novinhost.org/%D8%B3%D8%B1%D9%88%D8%B1-%D9%85%D8%AC%D8%A7%D8%B2%DB%8C-%D8%A7%D9%84%D9%85%D8%A7%D9%86/) 🇩🇪**

## پیش‌ نیازها

این راهنما شامل یک نمایش عملی است. برای دنبال کردن مراحل راه‌اندازی آپاچی هادوپ روی اوبونتو ۲۴.۰۴ در حالت شبه‌توزیع‌شده، مطمئن شوید که موارد زیر را دارید:

- یک سرور مجازی با حداقل ۲ هسته پردازنده، ۴ گیگابایت رم و ۲۰ گیگابایت فضای دیسک خالی.
- امتیازات sudo (یوزر اصلی) .
- کیت توسعه جاوا (JDK) نصب شده باشد (OpenJDK 11 توصیه می‌شود).
- سرور OpenSSH و کلاینت OpenSSH نصب شده و سرویس SSH در حال اجرا است.

## نحوه نصب Hadoop روی اوبونتو 24.04 (حالت شبه توزیع‌ شده)

در حالت شبه توزیع‌شده، تمام سرویس‌های Hadoop (NameNode، DataNode، ResourceManager، NodeManager) بر روی یک ماشین واحد اجرا می‌شوند. این تنظیمات به گونه‌ای پیکربندی شده است که از یک خوشه چند گره‌ای تقلید کند و به شما امکان می‌دهد عملیات HDFS را آزمایش کنید و برنامه‌های MapReduce یا YARN را مانند یک خوشه کوچک اجرا کنید. این نقطه شروع ایده‌آلی برای یادگیری Hadoop است.

### مرحله 1: بسته‌های سیستمی را در اوبونتو به‌ روزرسانی کنید

ابتدا، اگر از راه دور کار می‌کنید، از طریق SSH به سرور خود متصل شوید . سپس، لیست بسته‌های سیستم خود را به‌روزرسانی کنید تا مطمئن شوید که برای فرآیند نصب آماده است. یک ترمینال باز کنید و دستور زیر را اجرا کنید:

  خط فرمان

```bash
sudo apt update && sudo apt upgrade -y
```

```bash
خروجیHit:1 http://archive.ubuntu.com/ubuntu noble InRelease
...
Fetched 34.0 MB in 14s (2364 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
6 packages can be upgraded. Run 'apt list --upgradable' to see them.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
  linux-headers-6.8.0-59 linux-headers-6.8.0-59-generic linux-image-6.8.0-59-generic
  linux-modules-6.8.0-59-generic linux-tools-6.8.0-59 linux-tools-6.8.0-59-generic
The following packages will be upgraded:
  linux-headers-generic linux-headers-virtual linux-image-virtual linux-libc-dev
  linux-tools-common linux-virtual
6 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
...
Fetched 80.1 MB in 2s (38.5 MB/s)
Selecting previously unselected package linux-headers-6.8.0-59.
...
Setting up linux-virtual (6.8.0-59.61) ...
Processing triggers for man-db (2.12.0-4build2) ...
Processing triggers for linux-image-6.8.0-59-generic (6.8.0-59.61) ...
...
Generating grub configuration file ...
...
done
Scanning processes...
Scanning linux images...

Pending kernel upgrade!
Running kernel version:
  6.8.0-58-generic
Diagnostics:
  The currently running kernel version is not the expected kernel version 6.8.0-59-generic.

Restarting the system to load the new kernel will not be handled automatically, so you should
consider rebooting.

No services need to be restarted.
...
```

### مرحله 2: نصب OpenJDK برای Hadoop

Hadoop بر پایه جاوا ساخته شده است، بنابراین به نصب کیت توسعه جاوا (JDK) نیاز دارید. OpenJDK 11 را با اجرای دستور زیر نصب کنید:

  خط فرمان

```bash
sudo apt install openjdk-11-jdk -y
```

```bash
خروجیReading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  ... (a long list of libraries and other necessary files)
Suggested packages:
  ...
Recommended packages:
  ...
The following NEW packages will be installed:
  ... (many dependencies) ... openjdk-11-jdk ... (more dependencies)
0 upgraded, 92 newly installed, 0 to remove and 0 not upgraded.
Need to get 184 MB of archives.
After this operation, 553 MB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu noble/main amd64 alsa-topology-conf all 1.2.5.1-2 [15.5 kB]
... (many more Get lines) ...
Fetched 184 MB in 8s (22.9 MB/s)
Extracting templates from packages: 100%
Selecting previously unselected package alsa-topology-conf.
(Reading database ...)
Preparing to unpack .../alsa-topology-conf_1.2.5.1-2_all.deb ...
Unpacking alsa-topology-conf (1.2.5.1-2) ...
... (many more unpacking steps) ...
Setting up libgraphite2-3:amd64 (1.3.14-2build1) ...
Setting up ... (many more setting up steps) ...
Setting up openjdk-11-jdk:amd64 (11.0.27+6~us1-0ubuntu1~24.04) ...
Processing triggers for ...
...
```

پس از اتمام این کار، نسخه را برای تأیید نصب بررسی کنید:

  خط فرمان

```bash
java --version
```

شما باید چیزی شبیه به این را ببینید:

```bash
خروجیopenjdk 11.0.27 2025-04-15
OpenJDK Runtime Environment (build 11.0.27+6-post-Ubuntu-0ubuntu124.04)
OpenJDK 64-Bit Server VM (build 11.0.27+6-post-Ubuntu-0ubuntu124.04, mixed mode, sharing)
```

### مرحله ۳: ایجاد یک کاربر اختصاصی برای Hadoop

در مرحله بعد، یک کاربر اختصاصی برای Hadoop ایجاد کنید. این کار به جداسازی مجوزها کمک می‌کند و مدیریت را آسان‌تر می‌کند. یک کاربر با نام دلخواه ایجاد کنید `hadoop`(در صورت تمایل می‌توانید از نام دیگری استفاده کنید):

  خط فرمان

```bash
sudo adduser hadoop
```

از شما خواسته می‌شود که یک رمز عبور تنظیم کنید و برخی اطلاعات کاربری اختیاری را ارائه دهید.

```bash
خروجیinfo: Adding user `hadoop' ...
info: Selecting UID/GID from range 1000 to 59999 ...
info: Adding new group `hadoop' (1000) ...
info: Adding new user `hadoop' (1000) with group `hadoop (1000)' ...
info: Creating home directory `/home/hadoop' ...
info: Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for hadoop
Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] Y
info: Adding new user `hadoop' to supplemental / extra groups `users' ...
info: Adding user `hadoop' to group `users' ...
```

به کاربر امتیازات sudo بدهید:

  خط فرمان

```bash
sudo usermod -aG sudo hadoop
```

حالا با استفاده از دستور زیر به `hadoop`کاربر مورد نظر سوئیچ کنید:

  خط فرمان

```bash
su - hadoop
```

در صورت درخواست، رمز عبور کاربر را وارد کنید. اکنون باید پیام شما نشان دهد که با نام کاربری وارد سیستم شده‌اید `hadoop`.

```bash
خروجیTo run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

hadoop@demo:~$
```

### مرحله ۴: پیکربندی SSH بدون رمز عبور

در مرحله بعد، باید SSH بدون رمز عبور را راه‌اندازی کنید. Hadoop از SSH برای مدیریت سرویس‌های خود در سراسر گره‌ها (یا در یک گره واحد برای حالت شبه توزیع‌شده، اتصال به `localhost`) استفاده می‌کند.

سرورهای اوبونتو معمولاً کلاینت و سرور SSH را نصب دارند، می‌توانید با استفاده از دستور زیر تأیید کنید:

با استفاده از دستورات زیر، نصب کلاینت و سرور SSH را تأیید کنید:

  خط فرمان

```bash
ssh -V
```

```bash
خروجیOpenSSH_9.6p1 Ubuntu-3ubuntu13.11, OpenSSL 3.0.13 30 Jan 2024
```

   خط فرمان

```bash
systemctl status ssh
```

```bash
خروجی● ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/usr/lib/systemd/system/ssh.service; disabled; preset: enabled)
     Active: active (running) since Wed 2025-05-14 04:42:10 EEST; 31min ago
TriggeredBy: ● ssh.socket
       Docs: man:sshd(8)
             man:sshd_config(5)
   Main PID: 1076 (sshd)
      Tasks: 1 (limit: 4655)
     Memory: 4.1M (peak: 5.3M)
        CPU: 154ms
     CGroup: /system.slice/ssh.service
             └─1076 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups"

May 14 04:42:10 demo systemd[1]: Starting ssh.service - OpenBSD Secure Shell server...
May 14 04:42:10 demo sshd[1076]: Server listening on :: port 22.
May 14 04:42:10 demo systemd[1]: Started ssh.service - OpenBSD Secure Shell server.
May 14 04:42:10 demo sshd[1079]: Connection closed by 188.214.133.131 port 37150
May 14 04:52:19 demo sshd[1125]: Accepted password for root from 102.90.80.130 port 2768 ssh2
May 14 04:52:19 demo sshd[1125]: pam_unix(sshd:session): session opened for user root(uid=0) by>
May 14 05:06:19 demo sshd[7904]: Accepted password for root from 102.90.80.130 port 2636 ssh2
May 14 05:06:19 demo sshd[7904]: pam_unix(sshd:session): session opened for user root(uid=0) by>
```

اگر فعال نیست یا سرویس پیدا نشد، باید آن را نصب یا راه‌اندازی کنید.

اگر SSH از قبل نصب نشده است، می‌توانید با استفاده از دستورات زیر آن را نصب و فعال کنید:

  خط فرمان

```bash
sudo apt install openssh-server openssh-client -y
sudo systemctl enable ssh
```

اکنون، یک جفت کلید SSH ایجاد کنید:

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

```bash
خروجیGenerating public/private rsa key pair.
Created directory '/home/hadoop/.ssh'.
Your identification has been saved in /home/hadoop/.ssh/id_rsa
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:kin50YdBqah1j/RG6KeGAF6zKIppkxEOU14vcBiuEuo hadoop@demo
The key's randomart image is:
+---[RSA 3072]----+
|  .o    ..       |
| .+ o  ..        |
|.o.+ o o.        |
|=+.o+.*+.o       |
|Bo+o====S .      |
|+=o. ooo=.       |
|+Eo. ..+         |
|++  . o          |
|. .  .           |
+----[SHA256]-----+
```

شما باید کلید عمومی تولید شده را به لیست کلیدهای مجاز برای کاربر اضافه کنید `hadoop`تا بتواند `localhost`بدون رمز عبور وارد سیستم شود (). این کار را با استفاده از دستور زیر انجام دهید:

  خط فرمان

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

سپس مجوزهای لازم را برای فایل تنظیم کنید تا مطمئن شوید *فقط* صاحب فایل می‌تواند آن را بخواند و بنویسد:

  خط فرمان

```bash
chmod 600 ~/.ssh/authorized_keys
```

حالا بررسی کنید که آیا می‌توانید بدون درخواست رمز عبور `hadoop`به SSH متصل شوید :`localhost`

  خط فرمان

```bash
ssh localhost
```

اولین باری که متصل می‌شوید، ممکن است پیامی مانند «احراز هویت میزبان 'localhost (127.0.0.1)' قابل تشخیص نیست. اثر انگشت کلید ED25519 از نوع SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxx است. آیا مطمئن هستید که می‌خواهید به اتصال ادامه دهید (بله/خیر/[اثر انگشت])؟» را تایپ کرده `yes`و Enter را فشار دهید. سپس باید بدون درخواست رمز عبور وارد سیستم شوید.

```bash
خروجیThe authenticity of host 'localhost (127.0.0.1)' can't be established.
ED25519 key fingerprint is SHA256:ImVq/XOAViXspPZg1grGdz0E1Q8u1OZ9Cdsk45HAuWY.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'localhost' (ED25519) to the list of known hosts.
Welcome to Ubuntu 24.04.2 LTS (GNU/Linux 6.8.0-58-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Mon May 12 20:47:26 EEST 2025

  System load:  0.0               Processes:             137
  Usage of /:   3.3% of 76.45GB   Users logged in:       1
  Memory usage: 8%                IPv4 address for eth0: 5.199.161.101
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

Enable ESM Apps to receive additional future security updates.
See https://ubuntu.com/esm or run: sudo pro status

*** System restart required ***
Last login: Mon May 12 20:29:21 2025 from 105.113.10.163
```

پس از تأیید ورود بدون رمز عبور، از جلسه SSH خارج شوید تا به اعلان اصلی خود بازگردید:

  خط فرمان

```bash
exit
```

### مرحله ۵: دانلود و استخراج Hadoop

اکنون، همچنان به عنوان `hadoop`کاربر، آپاچی هادوپ را دانلود و استخراج خواهید کرد.

یک مرورگر وب باز کنید و به [**صفحه رسمی **](https://hadoop.apache.org/releases.html)[**انتشارهای**](https://hadoop.apache.org/releases.html)[** آپاچی هادوپ**](https://hadoop.apache.org/releases.html) بروید . آخرین نسخه باینری پایدار را پیدا کنید و آدرس آن را کپی کنید. سپس، آن را با استفاده از دانلود کنید `wget`.

  خط فرمان

```bash
cd ~
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.4.1/hadoop-3.4.1.tar.gz
```

```bash
خروجی--2025-05-12 20:55:06--  https://dlcdn.apache.org/hadoop/common/hadoop-3.4.1/hadoop-3.4.1.tar.gz
Resolving dlcdn.apache.org (dlcdn.apache.org)... 151.101.2.132, 2a04:4e42::644
Connecting to dlcdn.apache.org (dlcdn.apache.org)|151.101.2.132|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 974002355 (929M) [application/x-gzip]
Saving to: ‘hadoop-3.4.1.tar.gz’

hadoop-3.4.1.tar.gz     100%[===============================>] 928.88M  72.4MB/s    in 12s

2025-05-12 20:55:26 (80.4 MB/s) - ‘hadoop-3.4.1.tar.gz’ saved [974002355/974002355]
```

پس از اتمام دانلود، فایل دانلود شده را از حالت فشرده خارج کنید:

  خط فرمان

```bash
tar -xzf hadoop-*.tar.gz
```

معمولاً Hadoop را در یک مکان استاندارد مانند ... قرار می‌دهند `/usr/local/`. پوشه استخراج شده را به آنجا منتقل کنید و `hadoop`برای سادگی، نام آن را به ... تغییر دهید.

  خط فرمان

```bash
sudo mv hadoop-3.4.1 /usr/local/hadoop
```

اکنون مطمئن شوید که `hadoop`مالک `/usr/local/hadoop`دایرکتوری و محتویات آن هستید:

  خط فرمان

```bash
sudo chown -R hadoop:hadoop /usr/local/hadoop
```

### مرحله 6: پیکربندی متغیرهای محیطی Hadoop

شما باید چندین متغیر محیطی را تنظیم کنید تا سیستم شما و Hadoop بتوانند فایل‌ها و پیکربندی‌های لازم را پیدا کنند.

`.bashrc`فایل را برای ویرایش باز کنید :

  خط فرمان

```bash
nano ~/.bashrc
```

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

  «هادوپ»

```bash
# Hadoop Environment Variables
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
```

در مرحله بعد، باید متغیرهای محیطی را برای جاوا تنظیم کنید تا سایر برنامه‌ها بتوانند آن را پیدا کنند. برای انجام این کار، به `~/.bashrc`فایل دسترسی پیدا کنید.

  خط فرمان

```bash
sudo nano ~/.bashrc
```

خطوط زیر را اضافه کنید که `JAVA_HOME`متغیر محیطی را مشخص می‌کنند.

  خط فرمان

```bash
export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java))))
export PATH=$PATH:$JAVA_HOME/bin
```

تغییرات را ذخیره کرده و خارج شوید. سپس `~/.bashrc`فایل را برای اعمال تغییرات ایجاد شده، سورس کنید.

  خط فرمان

```bash
source ~/.bashrc
```

مطمئن شوید که `JAVA_HOME`متغیر محیطی به درستی تنظیم شده است.

  خط فرمان

```bash
echo  $JAVA_HOME
```

````bash
خروجی/usr/lib/jvm/java-11-openjdk-amd64
``
Save and close the file (`Ctrl+X`, then `Y`, then `Enter`).

You can verify your Hadoop installation using:

```bash command
hadoop version
````

```bash
خروجیHadoop 3.4.1
Source code repository https://github.com/apache/hadoop.git -r 4d7825309348956336b8f06a08322b78422849b1
Compiled by mthakur on 2024-10-09T14:57Z
Compiled on platform linux-x86_64
Compiled with protoc 3.23.4
From source with checksum 7292fe9dba5e2e44e3a9f763fce3e680
This command was run using /usr/local/hadoop/share/hadoop/common/hadoop-common-3.4.1.jar
```

تأیید کنید که `HADOOP_HOME`به درستی تنظیم شده است:

  خط فرمان

```bash
echo $HADOOP_HOME
```

```bash
خروجی/usr/local/hadoop
```

در مرحله بعد، باید مطمئن شوید که Hadoop محل نصب جاوای شما را می‌داند. اکنون، به طور صریح آن را `JAVA_HOME`در پیکربندی Hadoop تنظیم کنید. `hadoop-env.sh`فایل را برای ویرایش باز کنید:

  خط فرمان

```bash
nano $HADOOP_HOME/etc/hadoop/hadoop-env.sh
```

به دنبال خطی بگردید که با شروع می‌شود `# export JAVA_HOME=`. آن را از حالت کامنت خارج کنید (علامت را حذف کنید ) و آن را به مسیر `#`خود تنظیم کنید :`JAVA_HOME`

  «خانه جاوا»

```bash
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
```

فایل را ذخیره کنید و ببندید ( `Ctrl+X`، سپس `Y`، سپس `Enter`).

### مرحله 7: پیکربندی فایل‌های Hadoop XML برای حالت شبه توزیع‌شده

در این مرحله، فایل‌های XML اصلی واقع در را پیکربندی خواهید کرد `$HADOOP_HOME/etc/hadoop/`. این فایل‌ها نحوه عملکرد Hadoop را در حالت شبه توزیع‌شده تعیین می‌کنند.

با ایجاد دایرکتوری‌هایی که Hadoop برای ذخیره‌سازی داده‌های HDFS استفاده خواهد کرد، شروع کنید:

  خط فرمان

```bash
mkdir -p $HADOOP_HOME/hdfs/namenode
mkdir -p $HADOOP_HOME/hdfs/datanode
```

سپس مالکیت دایرکتوری و محتویات آن را به `hadoop`کاربر اختصاص دهید.

  خط فرمان

```bash
sudo chown -R hadoop:hadoop $HADOOP_HOME/hdfs
```

حالا، بیایید فایل‌های پیکربندی XML را ویرایش کنیم.

- هسته-سایت.xmlفایل را باز کنید `core-site.xml`:  خط فرمان
  ```bash
  nano $HADOOP_HOME/etc/hadoop/core-site.xml
  ```

  تگ‌های خالی را `<configuration></configuration>`با تگ‌های زیر جایگزین کنید:
    «هسته-سایت.xml»
  ```xml
  <configuration>
      <property>
          <name>fs.defaultFS</name>
          <value>hdfs://localhost:9000</value>
          <description>The default file system URI</description>
      </property>
  </configuration>
  ```

  - `hdfs://localhost:9000`به Hadoop می‌گوید که از HDFS که روی `localhost`پورت اجرا می‌شود استفاده کند `9000`.
- hdfs-site.xml`hdfs-site.xml`فایل را با ویرایشگر نانو باز کنید :  خط فرمان
  ```bash
  nano $HADOOP_HOME/etc/hadoop/hdfs-site.xml
  ```

  بین `<configuration>`تگ‌ها، موارد زیر را اضافه کنید:
    «hdfs-site.xml»
  ```xml
  <configuration>
      <property>
          <name>dfs.replication</name>
          <value>1</value>
          <description>Default block replication.</description>
      </property>
      <property>
          <name>dfs.name.dir</name>
          <value>file:///usr/local/hadoop/hdfs/namenode</value>
          <description>Path on the local filesystem where the NameNode stores the namespace and transaction logs.</description>
      </property>
      <property>
          <name>dfs.data.dir</name>
          <value>file:///usr/local/hadoop/hdfs/datanode</value>
          <description>Path on the local filesystem where the DataNode stores its blocks.</description>
      </property>
  </configuration>
  ```

  این پیکربندی، یک محیط HDFS تک نسخه‌ای را با استفاده از دایرکتوری‌های داده‌ای که قبلاً ایجاد کرده‌اید، راه‌اندازی می‌کند.
- نقشه سایت.xml`mapred-site.xml`فایل را برای ویرایش باز کنید :  خط فرمان
  ```bash
  nano $HADOOP_HOME/etc/hadoop/mapred-site.xml
  ```

  تگ‌های خالی `<configuration></configuration>`را با موارد زیر جایگزین کنید:
    «mapred-site.xml»
  ```xml
  <configuration>
      <property>
          <name>mapreduce.framework.name</name>
          <value>yarn</value>
          <description>The runtime framework for MapReduce. Can be local, classic or yarn.</description>
      </property>
      <property>
          <name>yarn.app.mapreduce.am.env</name>
          <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value>
      </property>
      <property>
          <name>mapreduce.map.env</name>
          <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value>
      </property>
      <property>
          <name>mapreduce.reduce.env</name>
          <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value>
      </property>
  </configuration>
  ```

  این کار MapReduce را قادر می‌سازد تا روی YARN اجرا شود و متغیرهای محیطی مناسب را تنظیم کند.
- yarn-site.xmlدر نهایت، `yarn-site.xml`فایل را ویرایش کنید:  خط فرمان
  ```bash
  nano $HADOOP_HOME/etc/hadoop/yarn-site.xml
  ```

  بین `<configuration>`تگ‌ها، موارد زیر را اضافه کنید:
    «yarn-site.xml»
  ```xml
  <configuration>
      <property>
          <name>yarn.nodemanager.aux-services</name>
          <value>mapreduce_shuffle</value>
          <description>Auxilliary services required by the NodeManager.</description>
      </property>
  </configuration>
  ```

  این سرویس shuffle را فعال می‌کند که برای اجرای کارهای MapReduce روی YARN ضروری است.

### مرحله ۸: فرمت HDFS NameMode

قبل از اینکه بتوان از HDFS استفاده کرد، NameNode باید فرمت شود. این مرحله سیستم فایل HDFS را مقداردهی اولیه کرده و ساختار دایرکتوری تعریف شده در . شما را تنظیم می‌کند `hdfs-site.xml`.

همچنان که هست `hadoop`، اجرا کنید:

  خط فرمان

```bash
hdfs namenode -format
```

این دستور را فقط یک بار در طول راه‌اندازی اولیه اجرا کنید. قالب‌بندی مجدد، تمام داده‌های ذخیره شده در HDFS را پاک می‌کند.

این دستور چندین پیام لاگ (log) را نمایش می‌دهد. در انتها، به دنبال خطوط تأیید مانند موارد زیر باشید: `INFO` `common.Storage: Storage directory /usr/local/hadoop/data/namenode has been successfully formatted.`و همچنین:`INFO namenode.NameNode: SHUTDOWN_MSG: Shutting down NameNode at ...`

```bash
خروجیWARNING: /usr/local/hadoop/logs does not exist. Creating.
2025-05-13 01:56:40,856 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG:   host = demo/127.0.1.1
STARTUP_MSG:   args = [-format]
STARTUP_MSG:   version = 3.4.1
STARTUP_MSG:   classpath = /usr/local/hadoop/etc/hadoop:/usr/local/hadoop/share/hadoop/common/lib/curator-framework-5.2.0.jar:... (truncated for brevity) ...
STARTUP_MSG:   build = https://github.com/apache/hadoop.git -r 4d7825309348956336b8f06a08322b78422849b1; compiled by 'mthakur' on 2024-10-09T14:57Z
STARTUP_MSG:   java = 11.0.27
************************************************************/
2025-05-13 01:56:40,873 INFO namenode.NameNode: registered UNIX signal handlers for [TERM, HUP, INT]
2025-05-13 01:56:41,072 INFO namenode.NameNode: createNameNode [-format]
2025-05-13 01:56:42,003 INFO namenode.NameNode: **Formatting using clusterid: CID-8e15e115-84e9-4400-8014-68ad4b72a38f**
2025-05-13 01:56:42,080 INFO namenode.FSEditLog: Edit logging is async:true
2025-05-13 01:56:42,142 INFO namenode.FSNamesystem: KeyProvider: null
2025-05-13 01:56:42,145 INFO namenode.FSNamesystem: fsLock is fair: true
2025-05-13 01:56:42,182 INFO namenode.FSNamesystem: fsOwner                = hadoop (auth:SIMPLE)
2025-05-13 01:56:42,183 INFO namenode.FSNamesystem: isPermissionEnabled    = true
... (configuration details and GSet info omitted for brevity) ...
2025-05-13 01:56:42,963 INFO namenode.FSImage: Allocated new BlockPoolId: BP-42078627-127.0.1.1-1747090602953
2025-05-13 01:56:42,999 INFO common.Storage: **Storage directory /usr/local/hadoop/hdfs/namenode has been successfully formatted.**
2025-05-13 01:56:43,056 INFO namenode.FSImageFormatProtobuf: Saving image file /usr/local/hadoop/hdfs/namenode/current/fsimage.ckpt_0000000000000000000 using no compression
2025-05-13 01:56:43,263 INFO namenode.FSImageFormatProtobuf: Image file /usr/local/hadoop/hdfs/namenode/current/fsimage.ckpt_0000000000000000000 of size 401 bytes saved in 0 seconds .
2025-05-13 01:56:43,342 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at demo/127.0.1.1
************************************************************/
```

### مرحله 9: شروع سرویس‌های Hadoop

با تکمیل پیکربندی، زمان شروع سرویس‌های اصلی Hadoop فرا رسیده است. Hadoop اسکریپت‌های مفیدی را برای شروع سرویس‌های HDFS و YARN ارائه می‌دهد.

اسکریپت زیر را برای شروع NameNode، DataNode و SecondaryNameNode اجرا کنید:

  خط فرمان

```bash
start-dfs.sh
```

```bash
خروجیStarting namenodes on [localhost]
Starting datanodes
Starting secondary namenodes [demo]
demo: Warning: Permanently added 'demo' (ED25519) to the list of known hosts.
```

سپس، ResourceManager و NodeManager را اجرا کنید:

  خط فرمان

```bash
start-yarn.sh
```

```bash
خروجیStarting resourcemanager
Starting nodemanagers
```

پس از اجرای هر دو اسکریپت، سرویس‌های Hadoop شما باید فعال و در حال اجرا باشند.

### مرحله 10: تأیید کنید که سرویس‌های Hadoop در حال اجرا هستند

برای تأیید اینکه همه سرویس‌های Hadoop با موفقیت شروع به کار کرده‌اند، از `jps`دستور زیر استفاده کنید. این ابزار تمام فرآیندهای جاوا را که در حال حاضر روی سیستم در حال اجرا هستند، فهرست می‌کند.

  خط فرمان

```bash
jps
```

باید خروجی مشابه این را ببینید (شناسه‌های فرآیند متفاوت خواهد بود):

```bash
خروجی9300 NameNode
10373 Jps
9435 DataNode
10029 NodeManager
9885 ResourceManager
9647 SecondaryNameNode
```

مشاهده این فرآیندها تأیید می‌کند که Hadoop به درستی اجرا می‌شود.

### مرحله 11: دسترسی به رابط‌های کاربری وب

Hadoop رابط‌های وب داخلی را برای کمک به شما در نظارت بر سلامت و فعالیت خوشه خود فراهم می‌کند. می‌توانید وضعیت، گره‌ها، میزان استفاده از سیستم فایل و برنامه‌های در حال اجرا را به صورت بلادرنگ مشاهده کنید.

یک مرورگر وب باز کنید و به رابط‌های وب Hadoop بروید:

- اگر Hadoop را به صورت محلی روی دستگاه خود اجرا می‌کنید، از دستور زیر استفاده کنید:
  - رابط کاربری NameNode در HDFS: http://localhost:9870
  - رابط کاربری YARN ResourceManager: http://localhost:8088
- اگر Hadoop شما روی یک سرور راه دور (مانند یک نمونه سرور مجازی نوین هاست ) اجرا می‌شود، آن را `localhost`با آدرس IP عمومی سرور خود جایگزین کنید:
  - رابط کاربری NameNode در HDFS:`http://<server-ip>:9870`
  - رابط کاربری YARN ResourceManager:`http://<server-ip>:8088`

پس از باز کردن این URLها، باید داشبوردهایی را مشاهده کنید که سلامت خوشه، وضعیت گره و برنامه‌های در حال اجرا را نشان می‌دهند (در ابتدا اگر هنوز هیچ کاری ارسال نشده باشد، خالی است).

![آموزش نصب Hadoop](https://www.novinhost.org/wp-content/uploads/2025/10/img-01-1.png)

 

![آموزش نصب Hadoop](https://www.novinhost.org/wp-content/uploads/2025/10/img-02-5.png)
آموزش نصب Hadoop

 

### مرحله ۱۲: متوقف کردن سرویس‌های Hadoop

وقتی کارتان تمام شد، می‌توانید سرویس‌های Hadoop را متوقف کنید.

با اجرای دستور زیر، سرویس‌های YARN را متوقف کنید:

  خط فرمان

```bash
stop-yarn.sh
```

شما باید چیزی شبیه به این را ببینید:

```bash
خروجیStopping nodemanagers
Stopping resourcemanager
```

سرویس‌های HDFS را با استفاده از دستور زیر متوقف کنید:

  خط فرمان

```bash
stop-dfs.sh
```

خروجی مورد انتظار:

```bash
خروجیStopping namenodes on [localhost]
Stopping datanodes
Stopping secondary namenodes [demo]
```

`jps`برای تأیید خاتمه یافتن تمام فرآیندهای Hadoop، دوباره اجرا کنید :

```bash
jps
```

شما فقط باید `Jps`فرآیند را در خروجی ببینید، مانند این:

```bash
خروجی18704 Jps
```

## نتیجه‌ گیری

اکنون شما با موفقیت آپاچی هدوپ را در حالت شبه توزیع‌شده روی سرور اوبونتو ۲۴.۰۴ خود نصب و پیکربندی کرده‌اید. از نصب وابستگی‌ها و پیکربندی متغیرهای محیطی گرفته تا راه‌اندازی سرویس‌های اصلی و تأیید همه چیز با رابط‌های کاربری وب، اکنون یک مینی‌کلاستر کاربردی دارید که روی یک دستگاه واحد اجرا می‌شود. این تنظیمات برای یادگیری نحوه عملکرد هدوپ در زیر کاپوت و اجرای کارهای MapReduce در مقیاس کوچک‌تر بدون نیاز به چندین سرور ایده‌آل است.

حالا که با اجزای اصلی آشنا هستید، چرا راه‌اندازی یک کلاستر چندگره‌ای Hadoop را امتحان نمی‌کنید؟ این کار به شما تجربه عملی در پردازش داده‌های توزیع‌شده در دنیای واقعی و ارتباط گره به گره می‌دهد.
