Der Apache Hadoop oder auch bekannt als Hadoop ist ein Java-basiertes Open-Source-Framework, das die verteilte Verarbeitung großer Datenmengen über Computer hinweg ermöglicht. Es wird verwendet, um große Datenmengen zu speichern und zu verarbeiten. Es ermöglicht das Clustering mehrerer Computer, um Daten schneller zu speichern und zu verarbeiten, anstatt einen einzigen großen Computer zu verwenden. Hadoop besteht aus vier Hauptmodulen:
– HDFS (Hadoop Distributed File System)
– YARN (Yet Another Resource Negotiator)
– MapReduce
– Hadoop Common
In diesem Tutorial erklären wir, wie man Hadoop auf Debian 11 installiert.
Voraussetzungen
- Debian 11
- SSH-Root-Zugriff oder ein normaler Systembenutzer mit sudo-Berechtigungen
Schritt 1. Melden Sie sich beim Server an
Melden Sie sich zunächst über SSH als Root-Benutzer bei Ihrem Debian 11-Server an:
ssh root@IP_Address -p Port_number
Ersetzen Sie „root“ bei Bedarf durch einen Benutzer mit sudo-Berechtigungen. Ersetzen Sie außerdem „IP_Address“ und „Port_Number“ durch die entsprechende IP-Adresse und SSH-Portnummer Ihres Servers.
Mit dem folgenden Befehl können Sie überprüfen, ob Sie die richtige Debian-Version auf Ihrem Server installiert haben:
$ lsb_release -a
Sie sollten diese Ausgabe erhalten:
No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 11 (bullseye) Release: 11 Codename: bullseye
Bevor Sie beginnen, müssen Sie sicherstellen, dass alle auf dem Server installierten Ubuntu-Betriebssystempakete auf dem neuesten Stand sind.
Sie können dies tun, indem Sie die folgenden Befehle ausführen:
$ sudo apt update -y $ sudo apt upgrade -y
Schritt 2. Systembenutzer erstellen und SSH-Schlüssel generieren
Es ist keine gute Idee, Hadoop als root auszuführen, daher erstellen wir aus Sicherheitsgründen einen neuen Systembenutzer:
$ sudo useradd -r hadoop -m -d /opt/hadoop --shell /bin/bash
Ein Benutzer ‚hadoop‘ wurde erstellt, melden wir uns als Benutzer an.
$ su - hadoop
Hadoop benötigt ssh-Zugriff, um seine Knoten zu verwalten, egal ob entfernte oder lokale Knoten. Um ohne Passwort auf die Knoten zuzugreifen, können wir einen SSH-Schlüssel generieren und den öffentlichen Schlüssel in die Datei ~/.ssh/authorized_keys kopieren.
$ ssh-keygen -t rsa
Sie erhalten eine Ausgabe wie diese.
hadoop@debian11:~$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/opt/hadoop/.ssh/id_rsa): Created directory '/opt/hadoop/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /opt/hadoop/.ssh/id_rsa Your public key has been saved in /opt/hadoop/.ssh/id_rsa.pub The key fingerprint is: SHA256:QYHlb6Is9n05OtnR+6i71t4MZeN9gVqGVCoa28aiUXg [email protected] The key's randomart image is: +---[RSA 3072]----+ | o+. . | | oo o | | . Eo. o | | o *oo . . | | . +S+oo ++. | | .o.oo. =+ o.| | o.o o =... o| | . o .o * o= .| | . o=+*o.+ | +----[SHA256]-----+
Als Nächstes fügen wir den öffentlichen Schlüssel von hadoop der Datei mit dem autorisierten Schlüssel hinzu, damit sich der Benutzer „hadoop“ ohne Passwort beim System anmelden und nur den SSH-Schlüssel verwenden kann.
$ cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys
Melden Sie sich jetzt über SSH beim System an.
$ ssh localhost
Sie sollten sich jetzt ohne Passwort bei SSH anmelden können.
Verlassen wir den Benutzer „hadoop“ und fahren Sie dann mit dem nächsten Schritt fort.
$ exit
Schritt 3. Java installieren
Hadoop ist in Java geschrieben, daher benötigen wir Java in unserem System, um Hadoop ausführen zu können. Lassen Sie uns diesen Befehl unten ausführen, um das Standard-JDK für Java aus dem Repository zu installieren.
$ sudo apt install default-jdk default-jre -y
Java sollte jetzt installiert sein, Sie können es überprüfen und verifizieren, indem Sie diesen Befehl aufrufen:
$ sudo java -version
Schritt 4. Hadoop herunterladen und installieren
Zum Zeitpunkt der Erstellung dieses Artikels ist die neueste stabile Version von Hadoop Version 3.3.2. Sie können zu ihrer Download-Seite unter https://hadoop.apache.org/releases.html gehen, um die neuere Version zu überprüfen, falls vorhanden.
Melden wir uns als Benutzer „hadoop“ an, um es herunterzuladen und zu extrahieren, damit wir die Datei- und Verzeichnisberechtigung nicht ändern müssen.
$ su - hadoop $ wget https://dlcdn.apache.org/hadoop/common/hadoop-3.2.3/hadoop-3.2.3.tar.gz -O hadoop-3.2.3.tar.gz $ tar -xzvf hadoop-3.2.3.tar.gz -C /opt/hadoop --strip-components=1
Bevor Sie mit den nächsten Schritten fortfahren, vergewissern Sie sich, dass JAVA_HOME auf das richtige Verzeichnis zeigt, können Sie dies überprüfen, indem Sie /usr/lib/jvm
auflisten$ ls /var/lib/jvm
Jetzt bearbeiten wir /opt/hadoop/.bashrc
$ nano /opt/hadoop/.bashrc
Fügen Sie die folgenden Zeilen in die Datei ein.
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 export HADOOP_HOME=/opt/hadoop export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbin 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 HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
Speichern Sie die Datei und beenden Sie sie. Führen Sie dann den folgenden Befehl aus, um die neu hinzugefügten Umgebungsvariablen zu aktivieren.
$ source ~/.bashrc
Schritt 5. Hadoop konfigurieren
Hadoop kann so konfiguriert werden, dass es in einem Cluster mit einem oder mehreren Knoten ausgeführt wird. In diesem Tutorial zeigen wir Ihnen, wie Sie Hadoop-Single-Node-Cluster oder den pseudoverteilten Modus einrichten. Es gibt einige Dateien, die wir in diesem Schritt ändern müssen, jetzt bearbeiten wir zuerst die Hadoop-Umgebungsdatei.
$ nano /opt/hadoop/etc/hadoop/hadoop-env.sh
Fügen Sie der Datei die folgende Zeile hinzu.
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
Bearbeiten Sie die Datei core-site.xml.
$ nano /opt/hadoop/etc/hadoop/core-site.xml
Fügen Sie diese Zeilen zum Konfigurations-Tag hinzu.
<property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property>
Bearbeiten Sie die hdfs-site.xml-Datei
$ nano /opt/hadoop/etc/hadoop/hdfs-site.xml
Fügen Sie diese Zeilen zum Konfigurations-Tag hinzu.
<property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/opt/hadoop/hadoop_tmp/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/opt/hadoop/hadoop_tmp/hdfs/datanode</value> </property>
Speichern Sie die Datei mit STRG + O und verlassen Sie sie mit STRG + X
Garn-site.xml-Datei bearbeiten
$ nano /opt/hadoop/etc/hadoop/yarn-site.xml
Fügen Sie diese Zeilen zum Konfigurations-Tag hinzu.
<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property>
Die letzte zu ändernde Datei ist mapred-site.xml.
$ nano /opt/hadoop/etc/hadoop/mapred-site.xml
Fügen Sie diese Zeilen zum Konfigurations-Tag hinzu.
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
Vergessen Sie nicht, die Datei zu speichern und dann den Nano-Editor zu verlassen.
Die obigen Dateien wurden geändert, wir müssen einige Verzeichnisse erstellen, führen Sie diesen Befehl aus:
$ mkdir -p /opt/hadoop/hadoop_tmp/hdfs/{namenode,datanode}
Vor dem ersten Start von Hadoop-Diensten müssen wir den Namenode.
formatieren$ hdfs namenode -format
Starten Sie namenode und datanode
$ start-dfs.sh
Wenn Sie diese Warnmeldung sehen:
Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Dies bedeutet, dass Ihr Server-Betriebssystem 64-Bit ist, die native Hadoop-Bibliothek jedoch 32-Bit ist. Dies wird erwartet und Sie können die Warnung ignorieren. Wenn Sie damit nicht vertraut sind, können Sie die Hadoop-Quelldatei herunterladen und dann kompilieren, um die gemeinsam genutzte 64-Bit-Bibliothek zu erhalten.
Lassen Sie uns nun die YARN-Ressourcen- und -Knotenmanager starten.
$ start-yarn.sh
Als letztes führen Sie diesen Befehl aus:
$ jps
Sie erhalten eine Ausgabe wie diese:
106129 SecondaryNameNode 108050 Jps 105877 NameNode 106375 ResourceManager 105960 DataNode 106458 NodeManager
Jetzt. Sie können zu http://YOUR_SERVER_IP_ADDRESS:9870/ gehen und den Namensknoten, Datenknoten usw. sehen.
Um das YARN-Webportal zu überprüfen, können Sie zu http://YOUR_SERVER_IP_ADDRESS:8088/
Das ist es. Sie haben Hadoop erfolgreich auf Debian 11 VPS installiert und konfiguriert.
Natürlich müssen Sie Hadoop nicht auf Debian 11 installieren, wenn Sie einen Managed Debian Server bei uns haben. Sie können einfach unser Support-Team bitten, Hadoop auf Debian 11 für Sie zu installieren. Sie sind rund um die Uhr verfügbar und können Ihnen bei der Installation helfen.
PS. Wenn Ihnen dieser Blog-Beitrag zur Installation von Hadoop unter Debian 11 gefallen hat, können Sie ihn gerne über die folgenden Verknüpfungen in sozialen Netzwerken teilen oder einfach einen Kommentar im Kommentarbereich hinterlassen. Danke.