So installieren und konfigurieren Sie Apache Hadoop auf einem einzelnen Knoten in CentOS 7
Apache Hadoop ist ein Open-Source-Framework, das für die verteilte Speicherung und Verarbeitung von Big Data-Daten über Computercluster hinweg entwickelt wurde. Das Projekt basiert auf folgenden Komponenten:
- Hadoop Common – es enthält die Java-Bibliotheken und Dienstprogramme, die von anderen Hadoop-Modulen benötigt werden.
- HDFS – Hadoop Distributed File System – Ein Java-basiertes skalierbares Dateisystem, das über mehrere Knoten verteilt ist.
- MapReduce – YARN-Framework für die parallele Big-Data-Verarbeitung.
- Hadoop YARN: Ein Framework für die Verwaltung von Clusterressourcen.
In diesem Artikel erfahren Sie, wie Sie Apache Hadoop auf einem Cluster mit einem einzelnen Knoten in CentOS 7 installieren können (funktioniert auch für RHEL 7 und Fedora 23+). Dieser Konfigurationstyp wird auch als Hadoop Pseudo-Distributed Mode bezeichnet.
Schritt 1: Java auf CentOS 7 installieren
1. Bevor Sie mit der Java-Installation fortfahren, melden Sie sich zuerst mit einem Root-Benutzer oder einem Benutzer mit Root-Rechten an, der den Hostnamen Ihres Computers mit dem folgenden Befehl einrichtet.
# hostnamectl set-hostname master
Fügen Sie außerdem einen neuen Datensatz in der Hosts-Datei mit Ihrem eigenen Maschinen-FQDN hinzu, der auf Ihre System-IP-Adresse verweist.
# vi /etc/hosts
Fügen Sie die folgende Zeile hinzu:
192.168.1.41 master.hadoop.lan
Ersetzen Sie die oben genannten Einträge für den Hostnamen und den FQDN durch Ihre eigenen Einstellungen.
2. Gehen Sie als Nächstes zur Oracle Java-Download-Seite und laden Sie die neueste Version von Java SE Development Kit 8 mit Hilfe des curl-Befehls auf Ihr System herunter:
# curl -LO -H "Cookie: oraclelicense=accept-securebackup-cookie" “http://download.oracle.com/otn-pub/java/jdk/8u92-b14/jdk-8u92-linux-x64.rpm”
3. Nachdem der Download der Java-Binärdatei abgeschlossen ist, installieren Sie das Paket, indem Sie den folgenden Befehl eingeben:
# rpm -Uvh jdk-8u92-linux-x64.rpm
Schritt 2: Installieren Sie das Hadoop-Framework in CentOS 7
4. Erstellen Sie als Nächstes ein neues Benutzerkonto auf Ihrem System ohne Root-Befugnisse, das wir für den Hadoop-Installationspfad und die Arbeitsumgebung verwenden. Das neue Basisverzeichnis des Kontos befindet sich im Verzeichnis /opt/hadoop.
# useradd -d /opt/hadoop hadoop
passwd hadoop
5. Besuchen Sie im nächsten Schritt die Apache Hadoop-Seite, um den Link für die neueste stabile Version zu erhalten und das Archiv auf Ihr System herunterzuladen.
# curl -O http://apache.javapipe.com/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz
6. Extrahieren Sie das Archiv und kopieren Sie den Inhalt des Verzeichnisses in den Home-Pfad des Hadoop-Kontos. Stellen Sie außerdem sicher, dass Sie die Berechtigungen für kopierte Dateien entsprechend ändern.
# tar xfz hadoop-2.7.2.tar.gz
cp -rf hadoop-2.7.2/* /opt/hadoop/
chown -R hadoop:hadoop /opt/hadoop/
7. Melden Sie sich als Nächstes mit dem Hadoop-Benutzer an und konfigurieren Sie Hadoop und Java-Umgebungsvariablen auf Ihrem System, indem Sie die .bash_profile Datei bearbeiten.
# su - hadoop
vi .bash_profile
Fügen Sie die folgenden Zeilen am Ende der Datei an:
## JAVA env variables
export JAVA_HOME=/usr/java/default
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
## HADOOP env variables
export HADOOP_HOME=/opt/hadoop
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
8. Initialisieren Sie nun die Umgebungsvariablen und überprüfen Sie ihren Status, indem Sie die folgenden Befehle ausführen:
$ source .bash_profile
echo $HADOOP_HOME
echo $JAVA_HOME
9. Konfigurieren Sie abschließend die auf dem SSH-Schlüssel basierende Authentifizierung für das Hadoop-Konto, indem Sie die folgenden Befehle ausführen (ersetzen Sie den Hostnamen oder den FQDN entsprechend durch den Befehl ssh-copy-id).
Lassen Sie außerdem das Feld für die Passphrase leer, um sich automatisch über SSH anzumelden.
$ ssh-keygen -t rsa
ssh-copy-id master.hadoop.lan









