So installieren und konfigurieren Sie Hadoop auf CentOS/Rhel 8

So installieren und konfigurieren Sie Hadoop auf CentOS/Rhel 8

Hadoop ist ein kostenloses Software-Framework für Open-Source- und Java-basierte Software, der für die Speicherung und Verarbeitung großer Datensätze auf Maschinenclustern verwendet wird. Es verwendet HDFs, um ihre Daten zu speichern und diese Daten mithilfe von MapReduce zu verarbeiten. Es ist ein Ökosystem von Big -Data -Tools, die hauptsächlich für Data Mining und maschinelles Lernen verwendet werden. Es verfügt über vier Hauptkomponenten wie Hadoop Common, HDFs, Garn und MapReduce.

In diesem Handbuch erklären wir, wie Apache Hadoop auf RHEL/Centos 8 installiert werden kann.

Schritt 1 - SELinux deaktivieren

Vor Beginn ist es eine gute Idee, die Selinux in Ihrem System zu deaktivieren.

Öffnen Sie zum Deaktivieren von Selinux die Datei/etc/selinux/config:

Nano/etc/selinux/config 

Ändern Sie die folgende Zeile:

Selinux = deaktiviert 

Speichern Sie die Datei, wenn Sie fertig sind. Starten Sie Ihr System als nächstes neu, um die Selinux -Änderungen anzuwenden.

Schritt 2 - Java installieren

Hadoop ist in Java geschrieben und unterstützt nur Java Version 8. Sie können OpenJDK 8 und ANT unter Verwendung des unten gezeigten DNF -Befehls installieren:

DNF Installieren Sie Java-1.8.0 -openjdk mant -y 

Überprüfen Sie nach der Installation die installierte Version von Java mit dem folgenden Befehl:

Java -Version 

Sie sollten die folgende Ausgabe erhalten:

OpenJDK -Version "1.8.0_232 "OpenJDK -Laufzeitumgebung (Build 1.8.0_232-B09) OpenJDK 64-Bit Server VM (Build 25.232-B09, gemischter Modus) 

Schritt 3 - Erstellen Sie einen Hadoop -Benutzer

Es ist eine gute Idee, einen separaten Benutzer zu erstellen, der Hadoop aus Sicherheitsgründen ausführt.

Führen Sie den folgenden Befehl aus, um einen neuen Benutzer mit Namen Hadoop zu erstellen:

UserAdd Hadoop 

Setzen Sie das Passwort für diesen Benutzer als nächstes mit dem folgenden Befehl:

Passwd Hadoop 

Geben Sie das neue Passwort wie unten gezeigt an und bestätigen Sie sie:

Ändern des Passworts für Benutzer Hadoop. Neues Passwort: Neues Passwort eingeben: PassWD: Alle Authentifizierungs -Token erfolgreich aktualisiert. 

Schritt 4 - Konfigurieren Sie die SSH -Basis der Key -basierte Authentifizierung

Als nächstes müssen Sie eine kennwortlose SSH -Authentifizierung für das lokale System konfigurieren.

Ändern Sie zunächst den Benutzer mit dem folgenden Befehl in Hadoop:

Su - Hadoop 

Führen Sie als nächstes den folgenden Befehl aus, um öffentliche und private Schlüsselpaare zu generieren:

ssh -keygen -t RSA 

Sie werden gebeten, den Dateinamen einzugeben. Drücken Sie einfach die Eingabetaste, um den Vorgang zu vervollständigen:

Generieren von öffentlichem/privatem RSA -Schlüsselpaar. Geben Sie die Datei ein, in der der Schlüssel speichern kann (/home/hadoop/.SSH/ID_RSA): Verzeichnis erstellt '/home/hadoop/.ssh '. Geben Sie Passphrase ein (ohne Passphrase leer): Geben Sie erneut die gleiche Passphrase ein: Ihre Identifizierung wurde in/home/hadoop/gespeichert/wurde gespeichert.ssh/id_rsa. Ihr öffentlicher Schlüssel wurde in/home/hadoop/gespeichert.ssh/id_rsa.Pub. Der Schlüsselfingerabdruck lautet: SHA256: a/og+n3cnbssye1ulk95gys0pooc0dvj+yh1dfzpf8 [E-Mail geschützt] Das Randomart-Bild des Schlüssels ist:+--- [RSA 2048] ----+| | | | | . | | . o o o | |… O s o o | | o = + o o . | | o * o = b = . | | + O.Ö.Ö + + . | | +=*ob.+ o e | +---- [SHA256]-----+ 

Gehen Sie als nächstes die generierten öffentlichen Schlüssel von ID_RSA an.Pub to Authorized_keys und setzen Sie die richtige Berechtigung:

Katze ~/.ssh/id_rsa.Pub >> ~//.ssh/autorized_keys chmod 640 ~/.ssh/autorized_keys 

Überprüfen Sie als nächstes die passwortlose SSH -Authentifizierung mit dem folgenden Befehl:

ssh localhost 

Sie werden gebeten, Hosts zu authentifizieren, indem Sie bekannte Hosts RSA Keys hinzufügen. Geben Sie Ja ein und drücken Sie die Eingabetaste, um den Localhost zu authentifizieren:

Die Authentizität des Hosts 'Localhost (:: 1)' kann nicht festgelegt werden. ECDSA Key Fingerabdruck IS SHA256: 0YR1KDGU44AKG43PHN2GENUZSVRJBBPJAT3BWR3MW. Sind Sie sicher, dass Sie sich weiter verbinden möchten (Ja/Nein)? Ja Warnung: Dauerhaft "Localhost" (ECDSA) in die Liste der bekannten Hosts hinzugefügt. Aktivieren Sie die Webkonsole mit: SystemCTL Enable -Now Cockpit.Socket Last Login: Sa 1 02:48:55 2020 [[E -Mail geschützt] ~] $ 

Schritt 5 - Hadoop installieren

Ändern Sie zunächst den Benutzer mit dem folgenden Befehl in Hadoop:

Su - Hadoop 

Laden Sie als nächstes die neueste Version von Hadoop mit dem WGet -Befehl herunter:

WGet http: // apachemirror.Wuchna.com/Hadoop/Common/Hadoop-3.2.1/Hadoop-3.2.1.Teer.gz 

Nach dem Herunterladen extrahieren Sie die heruntergeladene Datei:

tar -xvzf hadoop -3.2.1.Teer.gz 

Benennen Sie als nächstes das extrahierte Verzeichnis in Hadoop um:

MV Hadoop-3.2.1 Hadoop 

Als nächstes müssen Sie Hadoop- und Java -Umgebungsvariablen auf Ihrem System konfigurieren.

Öffnen Sie das ~//.BASHRC -Datei in Ihrem bevorzugten Texteditor:

Nano ~//.bashrc 

Fügen Sie die folgenden Zeilen hinzu:

Exportieren Sie java_home =/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.232.B09-2.EL8_1.x86_64/export hadoop_home =/home/hadoop/hadoop export hadoop_install = $ hadoop_home export hadoop_mapred_home = $ hadoop_home export hadoop_common_home = $ hadoop hadoop_home hadoop_home hadoop_home hadoop_home hadoop_home : $ Hadoop_home/sbin: $ hadoop_home/bin export hadoop_opts = "-djava.Bibliothek.path = $ hadoop_home/lib/native " 

Speichern und schließen Sie die Datei. Aktivieren Sie dann die Umgebungsvariablen mit dem folgenden Befehl:

Quelle ~/.bashrc 

Öffnen Sie als nächstes die Hadoop -Umgebungsvariablendatei:

nano $ hadoop_home/etc/hadoop/hadoop-env.Sch 

Aktualisieren Sie die Variable java_home gemäß Ihrem Java -Installationspfad:

Exportieren Sie java_home =/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.232.B09-2.EL8_1.x86_64/ 

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Schritt 6 - Hadoop konfigurieren

Zunächst müssen Sie die genannten Verzeichnisse in Hadoop Home -Verzeichnis erstellen:

Führen Sie den folgenden Befehl aus, um beide Verzeichnisse zu erstellen:

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

Bearbeiten Sie als nächstes die Kernstelle.xml Datei und Aktualisieren Sie mit Ihrem System Hostname:

Nano $ hadoop_home/etc/hadoop/core-Site.xml 

Ändern Sie den folgenden Namen gemäß Ihrem System -Hostnamen:

fs.defaultfs hdfs: // hadoop.Tecadmin.com: 9000
123456 fs.defaultfs hdfs: // hadoop.Tecadmin.com: 9000

Speichern und schließen Sie die Datei. Bearbeiten Sie dann die HDFS-Site.xml Datei:

nano $ hadoop_home/etc/hadoop/hdfs-site.xml 

Ändern Sie den Verzeichnispfad von Namenode und Datanode, wie unten gezeigt:

DFS.Replikation 1 DFS.Name.DIR -Datei: /// Home/Hadoop/Hadoopdata/HDFS/NAMENODE DFS.Daten.DIR -Datei: /// home/hadoop/hadoopdata/hdfs/datanode
1234567891011121314151617 DFS.Replikation 1 DFS.Name.DIR -Datei: /// Home/Hadoop/Hadoopdata/HDFS/NAMENODE DFS.Daten.DIR -Datei: /// home/hadoop/hadoopdata/hdfs/datanode

Speichern und schließen Sie die Datei. Bearbeiten Sie dann die Mapred-Site.xml Datei:

Nano $ hadoop_home/etc/hadoop/mapred-site.xml 

Nehmen Sie die folgenden Änderungen vor:

Karte verkleinern.Rahmen.Nennen Sie Garn
123456 Karte verkleinern.Rahmen.Nennen Sie Garn

Speichern und schließen Sie die Datei. Bearbeiten Sie dann die Garnstelle.xml Datei:

Nano $ hadoop_home/etc/hadoop/arnseitenstelle.xml 

Nehmen Sie die folgenden Änderungen vor:

Garn.NodeManager.AUX-Service MapReduce_Shuffle
123456 Garn.NodeManager.AUX-Service MapReduce_Shuffle

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Schritt 7 - Start Hadoop Cluster

Bevor Sie mit dem Hadoop -Cluster beginnen. Sie müssen den Namenode als Hadoop -Benutzer formatieren.

Führen Sie den folgenden Befehl aus, um den Hadoop Namenode zu formatieren:

HDFS NAMENODE -Format 

Sie sollten die folgende Ausgabe erhalten:

2020-02-05 03: 10: 40.380 Info Namenode.NnstorageretentionManager: Aufbewahrung von 1 Bildern mit TXID> = 0 2020-02-05 03: 10: 40,389 Info Namenode.FSIMAGE: FSIMageSaver Clean Checkpoint: TXID = 0 Beim Treffen mit dem Herunterfahren. 2020-02-05 03: 10: 40.389 Info Namenode.Namenode: Shutdown_MSG: /************************************************************************* ************************************.Tecadmin.com/45.58.38.202******************************************************** ***********/ 

Führen Sie nach der Formulierung des Namenode den folgenden Befehl aus, um den Hadoop -Cluster zu starten:

Start-dfs.Sch 

Sobald die HDFs erfolgreich gestartet sind, sollten Sie die folgende Ausgabe erhalten:

Namenenoden auf [Hadoop.Tecadmin.com] hadoop.Tecadmin.Com: Warnung: Dauerhaft 'Hadoop hinzugefügt.Tecadmin.Com, Fe80 :: 200: 2dff: Fe3A: 26CA%ETH0 '(ECDSA) Auf die Liste der bekannten Hosts. DATANODES STARTEN STORN SECPERSE NAMENODEN [Hadoop.Tecadmin.com] 

Starten Sie als nächstes den Garnservice wie unten gezeigt:

Start marnt.Sch 

Sie sollten die folgende Ausgabe erhalten:

Ressourcenanager Starten von NodeManagers starten 

Sie können jetzt den Status aller Hadoop -Dienste über den JPS -Befehl überprüfen:

JPS 

Sie sollten alle laufenden Dienste in der folgenden Ausgabe sehen:

7987 Datanode 9606 JPS 8183 SecondaryNamenode 8570 NodeManager 8445 Resourcemanager 7870 Namenode 

Schritt 8 - Firewall konfigurieren

Hadoop ist jetzt gestartet und hört auf Port 9870 und 8088 zu. Als nächstes müssen Sie diese Ports über die Firewall erlauben.

Führen Sie den folgenden Befehl aus, um Hadoop -Verbindungen durch die Firewall zu ermöglichen:

Firewall-CMD-Permanent --add-Port = 9870/TCP Firewall-CMD --Permanent --Add-Port = 8088/TCP 

Laden Sie als Nächstes den Firewalld -Dienst neu, um die Änderungen anzuwenden:

Firewall-CMD-Reload 

Schritt 9 - Zugriff auf Hadoop Namenode und Ressourcenmanager

Öffnen Sie Ihren Webbrowser und besuchen Sie die URL http: // your-server-ip: 9870. Sie sollten den folgenden Bildschirm sehen:

Um auf die Ressourcenverwaltung zuzugreifen, öffnen Sie Ihren Webbrowser und besuchen Sie die URL http: // your-server-ip: 8088. Sie sollten den folgenden Bildschirm sehen:

Schritt 10 - Überprüfen Sie den Hadoop -Cluster

Zu diesem Zeitpunkt ist der Hadoop -Cluster installiert und konfiguriert. Als nächstes erstellen wir einige Verzeichnisse im HDFS -Dateisystem, um den Hadoop zu testen.

Erstellen wir ein Verzeichnis im HDFS -Dateisystem mit dem folgenden Befehl:

HDFS DFS -MKDIR /TEST1 HDFS DFS -MKDIR /Test2 

Führen Sie als nächstes den folgenden Befehl aus, um das obige Verzeichnis aufzulisten:

HDFS DFS -LS / 

Sie sollten die folgende Ausgabe erhalten:

Gefunden 2 Elemente drwxr-xr-x-Hadoop Supergroup 0 2020-02-05 03:25 /Test1 DRWXR-XR-X-Hadoop Supergroup 0 2020-02-05 03:35 /Test2 

Sie können das obige Verzeichnis auch in der Weboberfläche Hadoop Namenode überprüfen.

Gehen Sie zur namenode -Weboberfläche, klicken Sie auf die Utilities => durchsuchen Sie das Dateisystem. Sie sollten Ihre Verzeichnisse sehen, die Sie früher im folgenden Bildschirm erstellt haben:

Schritt 11 - Stoppen Sie Hadoop Cluster

Sie können auch den Hadoop -Namenode- und Garnservice jederzeit stoppen, indem Sie das ausführen Stopp-DFS.Sch Und Stoppen Sie das Werk.Sch Skript als Hadoop -Benutzer.

Führen Sie den folgenden Befehl als Hadoop -Benutzer aus, um den Hadoop -Namenode -Dienst zu stoppen:

Stopp-DFS.Sch 

Führen Sie den folgenden Befehl aus, um den Hadoop Resource Manager -Service zu stoppen:

Stoppen Sie das Werk.Sch 

Abschluss

Im obigen Tutorial haben Sie gelernt. Ich hoffe, Sie haben jetzt genug Kenntnisse, um die Hadoop in der Produktionsumgebung zu installieren.