Wie installiert man Hadoop auf UbuntuDownload- und Installationsschritte

โšก Intelligente Zusammenfassung

Installation von Apache Hadoop auf Ubuntu Es sind zwei Durchgรคnge erforderlich: Zuerst wird die Release unter einem dedizierten Systemkonto mit passwortlosem SSH entpackt, dann werden vier XML-Dateien bearbeitet, bevor HDFS formatiert und der Einzelknotencluster gestartet wird.

  • ๐Ÿ”˜ Voraussetzungen: Ein laufender Ubuntu Maschine und eine unterstรผtzte Java Das Entwicklerkit muss zuerst installiert sein.
  • โ˜‘๏ธ Eigenes Konto: Erstellen Sie die Gruppe hadoop_ und das Benutzerkonto hduser_, damit Daemons niemals unter Ihrem Anmeldebenutzer ausgefรผhrt werden.
  • โœ… Passwortloses SSH: Hadoop startet Daemons รผber SSH, daher muss ssh localhost ohne Passwortabfrage erfolgreich sein.
  • ๐Ÿงช Vier Konfigurationsdateien: Die Dateien hadoop-env.sh, core-site.xml, mapred-site.xml und hdfs-site.xml enthalten alle Einstellungen, die in diesem Walkthrough geรคndert werden.
  • ๏ธ Erster Start: Formatieren Sie den NameNode einmal, fรผhren Sie dann start-dfs.sh und start-yarn.sh aus und bestรคtigen Sie fรผnf Daemons mit jps.
  • ๐Ÿงญ Versionsabweichung: Die Screenshots verwenden Hadoop 2.2.0, รผberprรผfen Sie daher die Versionsnummer, die Ports und die Eigenschaftsnamen anhand von Hadoop 3.x.

Wie installiert man Hadoop auf Ubuntu

In diesem Tutorial fรผhren wir Sie Schritt fรผr Schritt durch die Installation von Apache Hadoop auf einem Linux-System (UbuntuDies ist ein zweistufiger Prozess: Zuerst muss die Version heruntergeladen und installiert werden, anschlieรŸend muss sie konfiguriert werden.

Es gibt zwei Voraussetzungen:

Hinweise zur Hadoop 3.x-Version fรผr diese Konfiguration

Die Screenshots in dieser Anleitung wurden unter Hadoop 2.2.0 erstellt. Die Abfolge der Schritte ist in aktuellen Versionen unverรคndert, jedoch haben sich einige Namen und Standardeinstellungen geรคndert. รœberprรผfen Sie die untenstehende Tabelle, bevor Sie einen Befehl unverรคndert รผbernehmen.

Einstellung oder Schritt In diesem Tutorial (Hadoop 2.x) Aktuelles Hadoop 3.x
Verรถffentlichungsarchiv hadoop-2.2.0.tar.gz hadoop-3.5.0.tar.gzDie erste stabile Version 3.5 wurde am 2. April 2026 verรถffentlicht.
Standarddateisystemeigenschaft fs.default.name in der Prosa, fs.defaultFS im XML fs.defaultFS nur; fs.default.name ist veraltet
MapReduce-Eigenschaft mapreduce.jobtracker.address mapreduce.framework.name einstellen yarn; der JobTracker existiert nicht mehr, sobald YARN die Arbeit einplant.
mapred-site.xml Kopiert von mapred-site.xml.template Schiffe in etc/hadoop Daher ist der Kopierschritt รผberflรผssig.
NameNode-Web-UI-Port 50070 9870
Java Java 6 oder Java 7 Java 8 oder Java 11

Alles andere in diesem Leitfaden verhรคlt sich auf Hadoop 3 genauso: das dedizierte Konto, der SSH-Schlรผssel, die vier Konfigurationsdateien sowie die Start- und Stoppskripte.

Teil 1) Hadoop herunterladen und installieren

Schritt 1) โ€‹โ€‹Fรผgen Sie einen Hadoop-Systembenutzer hinzu

Fรผgen Sie mit dem folgenden Befehl einen Hadoop-Systembenutzer hinzu.

sudo addgroup hadoop_

Terminal, das sudo addgroup hadoop_ ausfรผhrt

sudo adduser --ingroup hadoop_ hduser_

adduser prompt sammelt Details fรผr hduser_

Geben Sie Ihr Passwort, Ihren Namen und weitere Details ein.

Anmerkungen: Bei diesem Einrichtungs- und Installationsprozess besteht die Mรถglichkeit, dass der unten genannte Fehler auftritt.

โ€žhduser ist nicht in der sudoers-Datei. Dieser Vorfall wird gemeldet.โ€œ

Fehlermeldung: hduser ist nicht in der sudoers-Datei enthalten.

Dieser Fehler kann durch Anmeldung als Root-Benutzer behoben werden.

Im Terminal zum Root-Benutzer wechseln

Fรผhren Sie den Befehl aus

sudo adduser hduser_ sudo

hduser_ zur sudo-Gruppe hinzufรผgen

Re-login as hduser_

Erneutes Anmelden als hduser_

Schritt 2) SSH konfigurieren

Zur Verwaltung der Knoten in einem Cluster benรถtigt Hadoop SSH-Zugriff.

Wechseln Sie zunรคchst den Benutzer und geben Sie den folgenden Befehl ein

su - hduser_

Benutzerwechsel mit su - hduser_

Dieser Befehl erstellt einen neuen Schlรผssel.

ssh-keygen -t rsa -P ""

ssh-keygen generiert ein RSA-Schlรผsselpaar fรผr hduser_

Aktivieren Sie den SSH-Zugriff auf den lokalen Rechner mithilfe dieses Schlรผssels.

cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

id_rsa.pub wird an die Datei authorized_keys angehรคngt

Testen Sie nun die SSH-Einrichtung, indem Sie sich als Benutzer 'hduser_' mit localhost verbinden.

ssh localhost

Erfolgreiche SSH-Sitzung auf localhost fรผr hduser_

Hinweis: Wenn Sie als Antwort auf 'ssh localhost' die unten stehende Fehlermeldung sehen, besteht die Mรถglichkeit, dass SSH auf diesem System nicht verfรผgbar ist.

ssh localhost schlรคgt mit der Fehlermeldung โ€žVerbindung abgelehntโ€œ fehl

Um dieses Problem zu lรถsen โ€“

Bereinigen Sie SSH mit:

sudo apt-get purge openssh-server

Es empfiehlt sich, vor Beginn der Installation eine Spรผlung durchzufรผhren.

apt-get purge entfernt ein vorhandenes openssh-server-Paket

Installieren Sie SSH mit dem Befehl-

sudo apt-get install openssh-server

apt-get installiert das openssh-server-Paket

Schritt 3) Laden Sie Hadoop herunter

Der nรคchste Schritt besteht darin, Hadoop von der Website herunterzuladen. Apache Hadoop-Releases-Seite.

Apache Hadoop verรถffentlicht eine Seite mit einer Liste der verfรผgbaren Versionen

Wรคhlen Sie Stabil aus

Verzeichnisauflistung fรผr die stabile Hadoop-Version

Wรคhlen Sie die tar.gz-Datei aus (nicht die Datei, die auf src endet).

Auswahl der Hadoop tar.gz-Binรคrdatei anstelle des Quellarchivs

Sobald der Download abgeschlossen ist, navigieren Sie zu dem Verzeichnis, das die tar-Datei enthรคlt.

Das Terminal wurde im Verzeichnis geรถffnet, das die heruntergeladene TAR-Datei enthรคlt.

Geben Sie,

sudo tar xzf hadoop-2.2.0.tar.gz

Extracting the Hadoop tarball with tar xzf

Benennen Sie nun hadoop-2.2.0 in hadoop um.

sudo mv hadoop-2.2.0 hadoop

Umbenennung des Extracted hadoop-2.2.0 folder to hadoop

Zum Schluss รผbergeben Sie den Ordner an das neue Konto.

sudo chown -R hduser_:hadoop_ hadoop

chown weist den Hadoop-Ordner hduser_ und hadoop_ zu.

Ersetzen Sie die tatsรคchlich heruntergeladene Version durch hadoop-2.2.0 in den drei oben genannten Befehlen.

Teil 2) Hadoop konfigurieren

Schritt 1) โ€‹โ€‹Bearbeiten Sie die Datei ~/.bashrc.

Fรผgen Sie die folgenden Zeilen am Ende der Datei ~/.bashrc hinzu.

#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-Datei mit angehรคngten Exporten fรผr HADOOP_HOME, JAVA_HOME und PATH

Laden Sie nun diese Umgebungskonfiguration mit dem folgenden Befehl.

. ~/.bashrc

Die .bashrc-Datei wird neu geladen, damit die neuen Umgebungsvariablen wirksam werden.

Schritt 2) Konfigurationen im Zusammenhang mit HDFS

Setzen Sie JAVA_HOME in der Datei $HADOOP_HOME/etc/hadoop/hadoop-env.sh, wie unten gezeigt.

Die Standardzeile JAVA_HOME in hadoop-env.sh

Die Datei hadoop-env.sh wurde im Editor geรถffnet und zeigte den JAVA_HOME-Export an.

Mit

hadoop-env.sh JAVA_HOME wurde durch den tatsรคchlichen Pfad ersetzt Java Installationspfad

In der Datei $HADOOP_HOME/etc/hadoop/core-site.xml mรผssen zwei Parameter festgelegt werden.

1. 'hadoop.tmp.dir' โ€“ Wird verwendet, um ein Verzeichnis anzugeben, das von Hadoop zum Speichern seiner Datendateien verwendet wird.

2. 'fs.defaultFS' โ€“ Hiermit wird das Standarddateisystem festgelegt. Die รคltere Bezeichnung fรผr dieselbe Eigenschaft, 'fs.default.name', ist veraltet.

Um diese Parameter festzulegen, รถffnen Sie core-site.xml

sudo gedit $HADOOP_HOME/etc/hadoop/core-site.xml

ร–ffnen von core-site.xml mit gedit

Kopieren Sie die folgenden Zeilen zwischen die Tags.

<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>

Die Datei core-site.xml enthรคlt die Eigenschaften hadoop.tmp.dir und fs.defaultFS.

Navigieren Sie zum Verzeichnis $HADOOP_HOME/etc/hadoop.

Terminal im Hadoop-Konfigurationsverzeichnis etc/hadoop

Erstellen Sie nun das in core-site.xml erwรคhnte Verzeichnis.

sudo mkdir -p <Path of Directory used in above setting>

mkdir -p Erstellt den Pfad hadoop.tmp.dir

Berechtigungen fรผr das Verzeichnis erteilen.

sudo chown -R hduser_:Hadoop_ <Path of Directory created in above step>

chown gewรคhrt hduser_ die Besitzrechte am temporรคren Verzeichnis

sudo chmod 750 <Path of Directory created in above step>

chmod 750 wurde auf das temporรคre Verzeichnis angewendet

Schritt 3) MapReduce-Konfiguration

Bevor Sie mit diesen Konfigurationen beginnen, legen wir zunรคchst den Pfad HADOOP_HOME fest.

sudo gedit /etc/profile.d/hadoop.sh

Und treten Sie ein

export HADOOP_HOME=/home/guru99/Downloads/Hadoop

hadoop.sh Profil-Skript, das HADOOP_HOME exportiert

Als nรคchstes eingeben

sudo chmod +x /etc/profile.d/hadoop.sh

Mit dem Befehl `chmod +x` wird das Profilskript hadoop.sh ausfรผhrbar gemacht.

SchlieรŸen Sie das Terminal und starten Sie es neu.

Geben Sie echo $HADOOP_HOME ein, um den Pfad zu รผberprรผfen.

echo $HADOOP_HOME gibt den konfigurierten Installationspfad aus

Kopieren Sie nun die Dateien

sudo cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml

Kopiere mapred-site.xml.template nach mapred-site.xml

ร–ffnen Sie die Datei mapred-site.xml.

sudo gedit $HADOOP_HOME/etc/hadoop/mapred-site.xml

ร–ffnen von mapred-site.xml mit gedit

Fรผgen Sie die folgenden Einstellungen zwischen den folgenden ein: Und Tags.

<property>
<name>mapreduce.jobtracker.address</name>
<value>localhost:54311</value>
<description>MapReduce job tracker runs at this host and port.
</description>
</property>

mapred-site.xml enthรคlt den MapReduce-Job tracKer-Immobilie

ร–ffnen Sie $HADOOP_HOME/etc/hadoop/hdfs-site.xml wie folgt:

sudo gedit $HADOOP_HOME/etc/hadoop/hdfs-site.xml

ร–ffnen von hdfs-site.xml mit gedit

Fรผgen Sie die folgenden Einstellungen zwischen den Und Tags.

<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>

hdfs-site.xml enthรคlt die Eigenschaften dfs.replication und dfs.datanode.data.dir.

Erstellen Sie das oben angegebene Verzeichnis.

sudo mkdir -p <Path of Directory used in above setting>
sudo mkdir -p /home/hduser_/hdfs

mkdir -p Erstellt das DataNode-Datenverzeichnis

AnschlieรŸend werden Eigentumsrechte und Berechtigungen dafรผr vergeben.

sudo chown -R hduser_:hadoop_ <Path of Directory created in above step>
sudo chown -R hduser_:hadoop_ /home/hduser_/hdfs

chown gewรคhrt hduser_ die Eigentรผmerschaft des DataNode-Datenverzeichnisses

sudo chmod 750 <Path of Directory created in above step>
sudo chmod 750 /home/hduser_/hdfs

chmod 750 wurde auf das DataNode-Datenverzeichnis angewendet

Schritt 4) HDFS formatieren

Bevor wir Hadoop zum ersten Mal starten, formatieren Sie HDFS mit dem folgenden Befehl.

$HADOOP_HOME/bin/hdfs namenode -format

hdfs namenode -format Ausgabe: Formatierung des neuen Dateisystems

Schritt 5) Starten Sie den Hadoop-Einzelknotencluster

Starten Sie den Hadoop-Einzelknotencluster mit dem folgenden Befehl.

$HADOOP_HOME/sbin/start-dfs.sh

Die Ausgabe des obigen Befehls wird unten angezeigt.

Ausgabe von start-dfs.sh beim Starten des NameNodes und DataNodes

Starten Sie anschlieรŸend die YARN-Daemons.

$HADOOP_HOME/sbin/start-yarn.sh

start-yarn.sh startet ResourceManager und NodeManager.

รœberprรผfen Sie mithilfe des Tools โ€žjpsโ€œ, ob alle Hadoop-bezogenen Prozesse ausgefรผhrt werden.

jps-Ausgabe, die die fรผnf laufenden Hadoop-Daemons auflistet

Wenn Hadoop erfolgreich gestartet wurde, sollte die jps-Ausgabe NameNode, NodeManager, ResourceManager, SecondaryNameNode und DataNode auflisten.

Schritt 6) Stoppping Hadoop

Schalten Sie den Cluster in umgekehrter Reihenfolge ab.

$HADOOP_HOME/sbin/stop-dfs.sh

Ausgabe von stop-dfs.sh: Die HDFS-Daemons werden heruntergefahren.

$HADOOP_HOME/sbin/stop-yarn.sh

Ausgabe von stop-yarn.sh: Die YARN-Daemons werden heruntergefahren.

Wie man รผberprรผft, ob Hadoop ausgefรผhrt wird, und hรคufige Fehler behebt

Die Ausgabe von jps bestรคtigt zwar den Start der Prozesse, aber nicht die Nutzbarkeit des Clusters. Vier zusรคtzliche Prรผfungen klรคren diese Frage.

  • ร–ffnen Sie die NameNode-Weboberflรคche unter http://localhost:9870 (Port 50070 auf Hadoop 2.x) und bestรคtigen Sie, dass die Zusammenfassung einen aktiven Knoten meldet.
  • ร–ffnen Sie die ResourceManager-Oberflรคche unter http://localhost:8088 um zu bestรคtigen, dass YARN den NodeManager akzeptiert hat.
  • Fรผhren Sie hdfs dfsadmin -report zur Kapazitรคtsprรผfung, fรผr aktive DataNodes und fรผr alle nicht replizierten Blรถcke.
  • Schreibe etwas: hdfs dfs -mkdir /test gefolgt von hdfs dfs -ls / beweist, dass der Namensraum ร„nderungen akzeptiert.

Die meisten Misserfolge beim ersten Versuch lassen sich in eine von fรผnf Kategorien einteilen.

Symptom Verursachen Fixieren
JAVA_HOME ist nicht gesetzt und konnte nicht gefunden werden Die Variable wird in .bashrc exportiert, aber nicht in hadoop-env.sh. Setzen Sie auch den absoluten JDK-Pfad in hadoop-env.sh.
Zugriff verweigert (รถffentlicher Schlรผssel, Passwort) auf ssh localhost authorized_keys fehlt oder ist zu permissiv Fรผge id_rsa.pub erneut hinzu und fรผhre anschlieรŸend chmod 600 fรผr ~/.ssh/authorized_keys aus.
Verbindung zu Port 22 abgelehnt openssh-server ist nicht installiert oder lรคuft nicht. Installieren Sie openssh-server und starten Sie den SSH-Dienst.
DataNode fehlt nach der Neuformatierung in den JPS-Dateien. Cluster ID-Konflikt zwischen dem formatierten NameNode und dem alten DataNode-Verzeichnis Leeren Sie den Ordner dfs.datanode.data.dir und formatieren Sie ihn anschlieรŸend erneut.
start-dfs.sh: Befehl nicht gefunden HADOOP_HOME und PATH wurden in der aktuellen Shell nie geladen. Fรผhren Sie . ~/.bashrc aus oder รถffnen Sie ein neues Terminal.

Hรคufig gestellte Fragen

Jede aktiv unterstรผtzte Ubuntu Die LTS-Versionen funktionieren, einschlieรŸlich 22.04 und 24.04. Hadoop 3.x wurde erstellt und getestet. Java 8 und Java 11, installieren Sie also eines dieser JDKs; neuere JDKs werden nicht vollstรคndig unterstรผtzt und รคltere Java 7 Builds sind nicht mehr gรผltig.

Die Skripte start-dfs.sh und start-yarn.sh starten alle Daemons per SSH, selbst wenn der einzige Host localhost ist. Ohne einen passwortlosen Schlรผssel bleiben die Skripte bei der Passwortabfrage hรคngen und kein Daemon startet.

hadoop.tmp.dir ist das Basisverzeichnis fรผr temporรคre Dateien, von dem Hadoop andere temporรคre Speicherorte ableitet. dfs.datanode.data.dir ist der Speicherort, an dem ein DataNode die eigentlichen Blockdateien speichert. Verwenden Sie fรผr den zweiten Speicherort unbedingt einen dauerhaften Speicher, niemals /tmp, da sonst die Blรถcke beim Neustart verloren gehen.

Formatieren Sie einmalig vor dem ersten Start. Ein erneutes Formatieren lรถscht den Namespace und hinterlรคsst vorhandene DataNode-Verzeichnisse mit einer รคlteren Cluster-ID. Daher kann sich der DataNode anschlieรŸend nicht registrieren und verschwindet aus der jps-Ausgabe.

Ja, aber Windows Benรถtigt die nativen Binรคrdateien winutils.exe und hadoop.dll fรผr die entsprechende Version. Die meisten Benutzer umgehen dies, indem sie dieselbe Datei ausfรผhren. Ubuntu Schritte innerhalb von WSL 2, das sich wie ein normaler Linux-Host verhรคlt.

Zum Lernen ist es durchaus sinnvoll: Ein vorkonfiguriertes Image erspart die Benutzererstellung, SSH-Schlรผssel und die XML-Bearbeitung. Eine manuelle Installation ist dennoch einmalig empfehlenswert, da sie zeigt, welche Datei welche Einstellung steuert, wenn ein realer Cluster Fehlfunktionen aufweist.

Maschinelle Lernmodelle auf Basis von NameNode- und YARN-Metriken prognostizieren Kapazitรคtsgrenzen, erkennen unausgelastete Jobs und kennzeichnen defekte Festplatten frรผhzeitig. Mehrere Plattformen empfehlen zudem automatisch ContainergrรถรŸen, wodurch die frรผher notwendige manuelle Konfiguration weitgehend entfรคllt.

Copilot erstellt schnell Property-Blรถcke fรผr core-site.xml und hdfs-site.xml und merkt sich die genaue Schreibweise. รœberprรผfen Sie jeden Vorschlag anhand der Dokumentation Ihrer Version, da hรคufig veraltete Eigenschaften wie mapreduce.job vorgeschlagen werden.tracker.address oder fs.default.name.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: