GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Ubuntu 20.04 Hadoop

Apache Hadoop besteht aus mehreren Open-Source-Softwarepaketen, die für die verteilte Speicherung und verteilte Verarbeitung von Big Data zusammenarbeiten. Hadoop besteht aus vier Hauptkomponenten:

  • Hadoop Common – die verschiedenen Softwarebibliotheken, von denen Hadoop abhängig ist, um ausgeführt zu werden
  • Hadoop Distributed File System (HDFS) – ein Dateisystem, das eine effiziente Verteilung und Speicherung von Big Data über einen Cluster von Computern ermöglicht
  • Hadoop MapReduce – zur Verarbeitung der Daten verwendet
  • Hadoop YARN – eine API, die die Zuweisung von Rechenressourcen für den gesamten Cluster verwaltet

In diesem Tutorial gehen wir die Schritte zur Installation von Hadoop Version 3 auf Ubuntu 20.04 durch. Dies beinhaltet die Installation von HDFS (Namenode und Datanode), YARN und MapReduce auf einem Cluster mit einem einzelnen Knoten, der im Pseudo-Verteilten Modus konfiguriert ist, der eine verteilte Simulation auf einem einzelnen Computer darstellt. Jede Komponente von Hadoop (HDFS, YARN, MapReduce) wird auf unserem Knoten als separater Java-Prozess ausgeführt.

In diesem Tutorial lernen Sie:

  • So fügen Sie Benutzer für die Hadoop-Umgebung hinzu
  • So installieren Sie die Java-Voraussetzung
  • So konfigurieren Sie passwortloses SSH
  • So installieren Sie Hadoop und konfigurieren die erforderlichen zugehörigen XML-Dateien
  • So starten Sie den Hadoop-Cluster
  • Zugriff auf die Web-Benutzeroberfläche von NameNode und ResourceManager

Apache Hadoop auf Ubuntu 20.04 Focal Fossa
Softwareanforderungen und Linux-Befehlszeilenkonventionen
Kategorie Anforderungen, Konventionen oder verwendete Softwareversion
System Ubuntu 20.04 installiert oder Ubuntu 20.04 Focal Fossa aktualisiert
Software Apache Hadoop, Java
Andere Privilegierter Zugriff auf Ihr Linux-System als root oder über sudo Befehl.
Konventionen # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von sudo Befehl
$ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden

Benutzer für Hadoop-Umgebung erstellen

Hadoop sollte ein eigenes dediziertes Benutzerkonto auf Ihrem System haben. Öffnen Sie zum Erstellen eines Terminals ein Terminal und geben Sie den folgenden Befehl ein. Sie werden auch aufgefordert, ein Passwort für das Konto zu erstellen.

$ sudo adduser hadoop

Erstellen Sie einen neuen Hadoop-Benutzer

Installieren Sie die Java-Voraussetzung

Hadoop basiert auf Java, daher müssen Sie es auf Ihrem System installieren, bevor Sie Hadoop verwenden können. Zum Zeitpunkt der Erstellung dieses Artikels erfordert die aktuelle Hadoop-Version 3.1.3 Java 8, also werden wir das auf unserem System installieren.

Verwenden Sie die folgenden beiden Befehle, um die neuesten Paketlisten in apt abzurufen und installieren Sie Java 8:

$ sudo apt update
$ sudo apt install openjdk-8-jdk openjdk-8-jre

Passwortloses SSH konfigurieren

Hadoop verlässt sich auf SSH, um auf seine Knoten zuzugreifen. Es stellt über SSH eine Verbindung zu Remote-Computern sowie zu Ihrem lokalen Computer her, wenn Hadoop darauf ausgeführt wird. Obwohl wir Hadoop in diesem Tutorial nur auf unserem lokalen Computer einrichten, muss SSH dennoch installiert sein. Außerdem müssen wir passwortloses SSH konfigurieren,
damit Hadoop unbemerkt im Hintergrund Verbindungen herstellen kann.

  1. Wir benötigen sowohl das OpenSSH-Server- als auch das OpenSSH-Client-Paket. Installieren Sie sie mit diesem Befehl:
    $ sudo apt install openssh-server openssh-client
    
  2. Bevor Sie fortfahren, melden Sie sich am besten bei hadoop an Benutzerkonto, das wir zuvor erstellt haben. Um Benutzer in Ihrem aktuellen Terminal zu ändern, verwenden Sie den folgenden Befehl:
    $ su hadoop
    
  3. Wenn diese Pakete installiert sind, ist es an der Zeit, öffentliche und private Schlüsselpaare mit dem folgenden Befehl zu generieren. Beachten Sie, dass das Terminal Sie mehrmals auffordern wird, aber alles, was Sie tun müssen, ist, ENTER zu drücken um fortzufahren.
    $ ssh-keygen -t rsa
    

    Generieren von RSA-Schlüsseln für passwortloses SSH
  4. Als nächstes kopieren Sie den neu generierten RSA-Schlüssel in id_rsa.pub zu authorized_keys :
    $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    
  5. Sie können sicherstellen, dass die Konfiguration erfolgreich war, indem Sie eine SSH-Verbindung zu localhost herstellen. Wenn Sie dies tun können, ohne zur Eingabe eines Passworts aufgefordert zu werden, können Sie loslegen.

    SSH-Verbindung mit dem System ohne Passwortabfrage bedeutet, dass es funktioniert hat

Installieren Sie Hadoop und konfigurieren Sie die zugehörigen XML-Dateien

Besuchen Sie die Website von Apache, um Hadoop herunterzuladen. Sie können auch diesen Befehl verwenden, wenn Sie die Binärdatei der Hadoop-Version 3.1.3 direkt herunterladen möchten:

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

Extrahieren Sie den Download in hadoop Home-Verzeichnis des Benutzers mit diesem Befehl:

$ tar -xzvf hadoop-3.1.3.tar.gz -C /home/hadoop

Umgebungsvariable einrichten

Der folgende export -Befehle konfigurieren die erforderlichen Hadoop-Umgebungsvariablen auf unserem System. Sie können diese alle kopieren und in Ihr Terminal einfügen (möglicherweise müssen Sie Zeile 1 ändern, wenn Sie eine andere Version von Hadoop haben):

export HADOOP_HOME=/home/hadoop/hadoop-3.1.3
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"

Sourcen Sie die .bashrc Datei in der aktuellen Anmeldesitzung:

$ source ~/.bashrc

Als nächstes werden wir einige Änderungen an hadoop-env.sh vornehmen Datei, die im Hadoop-Installationsverzeichnis unter /etc/hadoop zu finden ist . Verwenden Sie nano oder Ihren bevorzugten Texteditor, um es zu öffnen:

$ nano ~/hadoop-3.1.3/etc/hadoop/hadoop-env.sh

Ändern Sie JAVA_HOME Variable, wo Java installiert ist. Auf unserem System (und wahrscheinlich auch Ihrem, wenn Sie Ubuntu 20.04 verwenden und uns bisher gefolgt sind) ändern wir diese Zeile in:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

Ändern Sie die Umgebungsvariable JAVA_HOME

Das wird die einzige Änderung sein, die wir hier vornehmen müssen. Sie können Ihre Änderungen an der Datei speichern und sie schließen.

Konfigurationsänderungen in der Datei core-site.xml

Die nächste Änderung, die wir vornehmen müssen, befindet sich in der core-site.xml Datei. Öffnen Sie es mit diesem Befehl:

$ nano ~/hadoop-3.1.3/etc/hadoop/core-site.xml

Geben Sie die folgende Konfiguration ein, die HDFS anweist, auf localhost-Port 9000 zu laufen, und ein Verzeichnis für temporäre Daten einrichtet.



fs.defaultFS
hdfs://localhost:9000


hadoop.tmp.dir
/home/hadoop/hadooptmpdata

Änderungen an der Konfigurationsdatei core-site.xml

Speichern Sie Ihre Änderungen und schließen Sie diese Datei. Erstellen Sie dann das Verzeichnis, in dem temporäre Daten gespeichert werden:

$ mkdir ~/hadooptmpdata

Konfigurationsänderungen in der Datei hdfs-site.xml

Erstellen Sie zwei neue Verzeichnisse für Hadoop, um die Namenode- und Datanode-Informationen zu speichern.

$ mkdir -p ~/hdfs/namenode ~/hdfs/datanode

Bearbeiten Sie dann die folgende Datei, um Hadoop mitzuteilen, wo diese Verzeichnisse zu finden sind:

$ nano ~/hadoop-3.1.3/etc/hadoop/hdfs-site.xml

Nehmen Sie die folgenden Änderungen an hdfs-site.xml vor Datei, bevor Sie sie speichern und schließen:



dfs.replication
1
dfs.name.dir
file:///home/hadoop/hdfs/namenode
dfs.data.dir
file:///home/hadoop/hdfs/datanode

Änderungen der hdfs-site.xml-Konfigurationsdatei

Konfigurationsänderungen in der mapred-site.xml-Datei

Öffnen Sie die XML-Konfigurationsdatei von MapReduce mit dem folgenden Befehl:

$ nano ~/hadoop-3.1.3/etc/hadoop/mapred-site.xml

Und nehmen Sie die folgenden Änderungen vor, bevor Sie die Datei speichern und schließen:



mapreduce.framework.name
yarn

Änderungen der Konfigurationsdatei mapred-site.xml

Konfigurationsänderungen in der Datei wool-site.xml

Öffnen Sie die YARN-Konfigurationsdatei mit dem folgenden Befehl:

$ nano ~/hadoop-3.1.3/etc/hadoop/yarn-site.xml

Fügen Sie dieser Datei die folgenden Einträge hinzu, bevor Sie die Änderungen speichern und sie schließen:



mapreduceyarn.nodemanager.aux-services
mapreduce_shuffle

Änderungen an der Konfigurationsdatei der Garn-Site

Starten des Hadoop-Clusters

Bevor wir den Cluster zum ersten Mal verwenden, müssen wir den Namenode formatieren. Sie können dies mit dem folgenden Befehl tun:

$ hdfs namenode -format

Formatieren des HDFS-NameNode

Ihr Terminal wird eine Menge Informationen ausspucken. Solange Sie keine Fehlermeldungen sehen, können Sie davon ausgehen, dass es funktioniert hat.

Als nächstes starten Sie das HDFS mit start-dfs.sh Skript:

$ start-dfs.sh

Führen Sie das Skript start-dfs.sh aus

Starten Sie nun die YARN-Dienste über die start-yarn.sh Skript:

$ start-yarn.sh

Führen Sie das Skript start-yarn.sh aus

Um zu überprüfen, ob alle Hadoop-Dienste/Daemons erfolgreich gestartet wurden, können Sie den jps verwenden Befehl. Dadurch werden alle Prozesse angezeigt, die derzeit Java verwenden und auf Ihrem System ausgeführt werden.

$ jps

Führen Sie jps aus, um alle Java-abhängigen Prozesse anzuzeigen und zu überprüfen, ob Hadoop-Komponenten ausgeführt werden

Jetzt können wir die aktuelle Hadoop-Version mit einem der folgenden Befehle überprüfen:

$ hadoop version

oder

$ hdfs version

Überprüfen der Hadoop-Installation und der aktuellen Version

HDFS-Befehlszeilenschnittstelle

Die HDFS-Befehlszeile wird verwendet, um auf HDFS zuzugreifen und Verzeichnisse zu erstellen oder andere Befehle zum Bearbeiten von Dateien und Verzeichnissen auszugeben. Verwenden Sie die folgende Befehlssyntax, um einige Verzeichnisse zu erstellen und aufzulisten:

$ hdfs dfs -mkdir /test
$ hdfs dfs -mkdir /hadooponubuntu
$ hdfs dfs -ls /

Interaktion mit der HDFS-Befehlszeile

Greifen Sie über den Browser auf Namenode und YARN zu

Sie können über einen beliebigen Browser Ihrer Wahl, z. B. Mozilla Firefox oder Google Chrome, auf die Web-Benutzeroberfläche für NameNode und YARN Resource Manager zugreifen.

Navigieren Sie für die NameNode-Webbenutzeroberfläche zu http://HADOOP-HOSTNAME-OR-IP:50070

DataNode-Webschnittstelle für Hadoop

Um auf die Weboberfläche von YARN Resource Manager zuzugreifen, die alle derzeit ausgeführten Jobs im Hadoop-Cluster anzeigt, navigieren Sie zu http://HADOOP-HOSTNAME-OR-IP:8088

YARN Resource Manager-Webschnittstelle für Hadoop

Schlussfolgerung

In diesem Artikel haben wir gesehen, wie man Hadoop auf einem Single-Node-Cluster in Ubuntu 20.04 Focal Fossa installiert. Hadoop bietet uns eine handliche Lösung für den Umgang mit Big Data, die es uns ermöglicht, Cluster für die Speicherung und Verarbeitung unserer Daten zu nutzen. Es erleichtert uns das Leben bei der Arbeit mit großen Datensätzen mit seiner flexiblen Konfiguration und der praktischen Weboberfläche.


Ubuntu
  1. Installieren Sie Podman auf Ubuntu

  2. So installieren Sie Hadoop auf Ubuntu 18.04 oder 20.04

  3. Installieren Sie VirtualBox 4.2 auf Ubuntu 13.04

  4. Installieren Sie VirtualBox 4.3 auf Ubuntu 14.04

  5. Installieren Sie uTorrent auf Ubuntu 16.04

Installieren Sie Ruby auf Ubuntu 20.04

Installieren Sie Flameshot unter Ubuntu 20.04

Installieren Sie Podman auf Ubuntu 20.04

Installieren Sie Tig auf Ubuntu 20.04

So installieren Sie qt unter Ubuntu 20.04

So installieren Sie Hadoop auf Ubuntu 20.04