So installieren und konfigurieren Sie Hadoop auf CentOS/Rhel 8
- 1409
- 191
- Hr. Moritz Bozsik
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: 9000123456 | 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/datanode1234567891011121314151617 | 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 Garn123456 | 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_Shuffle123456 | 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.