So installieren Sie Hadoop auf Rhel 8 / Centos 8 Linux

So installieren Sie Hadoop auf Rhel 8 / Centos 8 Linux

Apache Hadoop ist ein Open -Source -Framework für verteilte Speicher sowie die verteilte Verarbeitung von Big -Data auf Clustern von Computern, die auf Waren -Hardware ausgeführt werden. Hadoop speichert Daten in Hadoop Distributed Dateisystem (HDFS) und die Verarbeitung dieser Daten erfolgt mithilfe von MapReduce. Garn bietet API für das Anfragen und Zuordnen von Ressourcen im Hadoop -Cluster.

Das Apache Hadoop -Framework besteht aus den folgenden Modulen:

  • Hadoop Common
  • Hadoop Distributed Dateisystem (HDFS)
  • GARN
  • Karte verkleinern

In diesem Artikel wird erläutert, wie Hadoop Version 2 auf RHEL 8 oder CentOS 8 installiert wird. Wir werden HDFs (Namenode und Datanode), Garn, MapReduce im einzelnen Knotencluster im Pseudo -verteilten Modus installieren, der auf einer einzelnen Maschine verteilt ist. Jeder Hadoop -Dämon wie HDFs, Garn, MapReduce usw. wird als separater/individueller Java -Prozess ausgeführt.

In diesem Tutorial lernen Sie:

  • So fügen Sie Benutzer für die Hadoop -Umgebung hinzu
  • So installieren und konfigurieren Sie den Oracle JDK
  • So konfigurieren Sie passwortlos SSH
  • So installieren Sie Hadoop und konfigurieren die erforderlichen zugehörigen XML -Dateien
  • So starten Sie den Hadoop -Cluster
  • So greifen Sie auf Namenode und ResourceManager Web UI zu
HDFS -Architektur.

Softwareanforderungen und Konventionen verwendet

Softwareanforderungen und Linux -Befehlszeilenkonventionen
Kategorie Anforderungen, Konventionen oder Softwareversion verwendet
System Rhel 8 / Centos 8
Software Hadoop 2.8.5, Oracle JDK 1.8
Andere Privilegierter Zugriff auf Ihr Linux -System als Root oder über die sudo Befehl.
Konventionen # - erfordert, dass gegebene Linux -Befehle mit Root -Berechtigungen entweder direkt als Stammbenutzer oder mit Verwendung von ausgeführt werden können sudo Befehl
$ - Erfordert, dass die angegebenen Linux-Befehle als regelmäßiger nicht privilegierter Benutzer ausgeführt werden können

Fügen Sie Benutzer für die Hadoop -Umgebung hinzu

Erstellen Sie den neuen Benutzer und die neue Gruppe mit dem Befehl:

# UserAdd Hadoop # Passwd Hadoop 
[root@hadoop ~]# userAdd hadoop [root@hadoop ~]# Passwd Hadoop Passwort für Benutzer Hadoop ändern. Neues Passwort: Neues Passwort eingeben: PassWD: Alle Authentifizierungs -Token erfolgreich aktualisiert. [root@hadoop ~]# cat /etc /passwd | Grep Hadoop Hadoop: x: 1000: 1000 ::/home/hadoop:/bin/bash 

Installieren und konfigurieren Sie den Oracle JDK

Laden Sie den JDK-8U202-Linux-X64 herunter und installieren Sie sie.RPM -offizielles Paket zur Installation des Oracle JDK.

[root@hadoop ~]# rpm -ivh jdk-8u202-linux-x64.Drehzahlwarnung: JDK-8U202-Linux-X64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY Verifying… ################################# [ 100%] Vorbereitung… ################################# [100%] Aktualisierung / Installation… 1: JDK1.8-2000: 1.8.0_202-FCS ######################################################################################################################################### [100%] auspackende jar-Dateien… Tools.Jar… Plugin.Jar ... Javaws.Jar… einsetzen.Jar… rt.Jar ... JSSE.Jar ... Charsets.Jar… lokaledata.Krug… 


Nach der Installation zur Überprüfung der Java wurde erfolgreich konfiguriert, führen Sie die folgenden Befehle aus:

[root@hadoop ~]# Java -Verssion Java Version "1.8.0_202 "Java (TM) SE -Laufzeitumgebung (Build 1.8.0_202-B08) Java Hotspot (TM) 64-Bit Server VM (Build 25.202-B08, gemischter Modus) [root@hadoop ~]# Update-Alternative-config. Auswahlbefehl ------------------------------------------- * + 1/usr/java/jdk1.8.0_202-Amd64/jre/bin/java 

Konfigurieren Sie passwortlos SSH

Installieren Sie den Öffnen von SSH -Server und öffnen Sie den SSH -Client oder falls bereits installiert wird.

[root@hadoop ~]# rpm -qa | Grep OpenSSH* OpenSSH-Server-7.8p1-3.EL8.x86_64 OpenSSL-LIBS-1.1.1-6.EL8.x86_64 OpenSSL-1.1.1-6.EL8.x86_64 OpenSSH-Client-7.8p1-3.EL8.x86_64 OpenSSH-7.8p1-3.EL8.x86_64 OpenSSL-PKCS11-0.4.8-2.EL8.x86_64 

Generieren Sie öffentliche und private Schlüsselpaare mit dem folgenden Befehl. Das Terminal fordert die Eingabe des Dateinamens auf. Drücken Sie EINGEBEN und fortfahren. Danach kopieren Sie das Formular der öffentlichen Schlüssel id_rsa.Pub Zu Autorisierte_Keys.

$ ssh -keygen -t RSA $ cat ~/.ssh/id_rsa.Pub >> ~//.ssh/autorized_keys $ chmod 640 ~/.ssh/autorized_keys 
[Hadoop@hadoop ~] $ ssh -keygen -t RSA generieren öffentlich/privates 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 ist: SHA256: H+llpkajjdd7b0f0je/nfjrp5/fuejswmmzpjfxoelg [email protected] the Key's RandomArt-Bild lautet: +--- [RSA 2048] ---- +|… ++*o .o | | Ö… +.Ö.+Ö.+| | +… * +Oo == | | . o o . E .oo | | . = .S.* o | | . Ö.o = o | |… O | | .Ö. | | Ö+. | + ---- [SHA256] -----+ [Hadoop@hadoop ~] $ cat ~//.ssh/id_rsa.Pub >> ~//.ssh/autorized_keys [Hadoop@hadoop ~] $ chmod 640 ~/.ssh/autorized_keys 

Überprüfen Sie die SSH-Konfiguration ohne Passwort mit dem Befehl:

$ ssh  
[Hadoop@hadoop ~] $ ssh Hadoop.Sandkasten.com Webkonsole: https: // hadoop.Sandkasten.com: 9090/oder https: // 192.168.1.108: 9090/ letzter Login: Sa 13. April 12:09:55 2019 [Hadoop@hadoop ~] $ 

Installieren Sie Hadoop und konfigurieren verwandte XML -Dateien

Download und extrahieren Hadoop 2.8.5 von der offiziellen Website von Apache.

# WGet https: // Archiv.Apache.org/dist/hadoop/Common/Hadoop-2.8.5/Hadoop-2.8.5.Teer.gz # tar -xzvf hadoop -2.8.5.Teer.gz 
[root@rhel8-sandbox ~]# wget https: // Archiv.Apache.org/dist/hadoop/Common/Hadoop-2.8.5/Hadoop-2.8.5.Teer.GZ-2019-04-13 11: 14: 03-- Https: // Archiv.Apache.org/dist/hadoop/Common/Hadoop-2.8.5/Hadoop-2.8.5.Teer.GZ Lösung Archiv.Apache.org (Archiv.Apache.org)… 163.172.17.199 Verbinden mit Archiv.Apache.org (Archiv.Apache.org) | 163.172.17.199 |: 443… verbunden. HTTP-Anfrage gesendet, auf Antwort erwartet… 200 OK Länge: 246543928 (235 m) [Anwendung/X-GZIP] Speichern Sie: 'Hadoop-2.8.5.Teer.GZ 'Hadoop-2.8.5.Teer.gz 100%[============================================== =====================================>] 235.12m 1.47 MB/s in 2M 53S 2019-04-13 11:16:57 (1.36 MB/s) - 'Hadoop -2.8.5.Teer.GZ 'Saved [246543928/246543928] 

Einrichten der Umgebungsvariablen

Bearbeiten die bashrc Für den Hadoop -Benutzer durch Einrichten der folgenden Hadoop -Umgebungsvariablen:



Export hadoop_home =/home/hadoop/hadoop-2.8.5 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 Exportieren Sie Hadoop_opts = "-Djava.Bibliothek.path = $ hadoop_home/lib/native " 
Kopieren

Quellen Sie die .bashrc In der aktuellen Anmeldesitzung.

$ source ~/.bashrc

Bearbeiten die Hadoop-Env.Sch Datei, die sich befindet /etc/hadoop Im Verzeichnis des Hadoop -Installationsverzeichnisses und die folgenden Änderungen vornehmen und prüfen, ob Sie andere Konfigurationen ändern möchten.

exportieren java_home = $ java_home:-"/usr/java/jdk1.8.0_202-AMD64 " Export hadoop_conf_dir = $ hadoop_conf_dir:-"/home/hadoop/hadoop-2.8.5/etc/hadoop " 
Kopieren

Konfigurationsänderungen in der Kernseite.XML -Datei

Bearbeiten die Kernstelle.xml mit Vim oder Sie können einen der Redakteure verwenden. Die Datei ist unter /etc/hadoop innen Hadoop Home -Verzeichnis und fügen Sie die folgenden Einträge hinzu.

  fs.Standard HDFS: // Hadoop.Sandkasten.com: 9000   Hadoop.TMP.Dir /home/hadoop/hadooptmpdata   
Kopieren

Erstellen Sie außerdem das Verzeichnis unter Hadoop Home-Ordner.

$ mkdir hadooptmpdata 

Konfigurationsänderungen in der HDFS-Site.XML -Datei

Bearbeiten die HDFS-Site.xml die unter demselben Ort vorhanden ist.e /etc/hadoop innen Hadoop Installationsverzeichnis und erstellen Sie das Namenode/Datanode Verzeichnisse unter Hadoop User Home Directory.

$ MKDIR -P HDFS/NAMENODE $ MKDIR -P HDFS/DATANODE 
  DFS.Reproduzieren 1   DFS.Name.Dir Datei: /// home/hadoop/hdfs/namenode   DFS.Daten.Dir Datei: /// home/hadoop/hdfs/datanode   
Kopieren

Konfigurationsänderungen in Mapred-Site.XML -Datei

Kopiere das Mapred-Site.xml aus Mapred-Site.xml.Vorlage Verwendung CP Befehl und dann die bearbeiten Mapred-Site.xml platziert in /etc/hadoop unter Hadoop Das Instillationsverzeichnis mit den folgenden Änderungen.

$ cp Mapred-Site.xml.Vorlage Mapred-Site.xml 
  Karte verkleinern.Rahmen.Name Garn   
Kopieren

Konfigurationsänderungen in der Garnstelle.XML -Datei

Bearbeiten Garnstelle.xml mit den folgenden Einträgen.



  MAPREDUCEYARN.NodeManager.Aux-Services MAPREDUCE_SHUFFE   
Kopieren

Starten Sie den Hadoop -Cluster

Formatieren Sie den Namenode, bevor Sie ihn zum ersten Mal verwenden. Als Hadoop -Benutzer führt den folgenden Befehl aus, um den Namenode zu formatieren.

$ hdfs namenode -format 
[Hadoop@hadoop ~] $ hdfs namenode -format 19/04/13 11:54:10 Info Namenode.Namenode: Startup_msg: /************************************************ ******************************************.Sandkasten.com/192.168.1.108 startup_msg: args = [-Format] startup_msg: Version = 2.8.5 19/04/13 11:54:17 Info Namenode.Fsnamesystem: dfs.Namenode.Sicherheitsmodus.Schwellenwert-PCT = 0.9990000128746033 19/04/13 11:54:17 Info Namenode.Fsnamesystem: dfs.Namenode.Sicherheitsmodus.Mindest.Datanodes = 0 19/04/13 11:54:17 Info Namenode.Fsnamesystem: dfs.Namenode.Sicherheitsmodus.Erweiterung = 30000 19/04/13 11:54:18 Info -Metriken.Topmetrics: nntop conf: dfs.Namenode.Spitze.Fenster.num.Eimer = 10 19/04/13 11:54:18 Info -Metriken.Topmetrics: nntop conf: dfs.Namenode.Spitze.num.Benutzer = 10 19/04/13 11:54:18 Info -Metriken.Topmetrics: nntop conf: dfs.Namenode.Spitze.Fenster.Minuten = 1,5,25 19/04/13 11:54:18 Info Namenode.Fsnamesystem: Wiederholung des Cache auf Namenode ist aktiviert 19/04/13 11:54:18 Info Namenode.Fsnamesystem: Wiederholung Cache wird 0 verwendet.03 der Ablaufzeit von Total Heap und Wiederholung des Cache -Eintrags beträgt 600000 Millis 19/04/13 11:54:18 Info Util.GSET: Computerkapazität für KartennamenoderetryCache 19/04/13 11:54:18 Info Util.GSET: VM Typ = 64-Bit 19/04/13 11:54:18 Info Util.GSET: 0.029999999329447746% MAX -Speicher 966.7 mb = 297.0 KB 19/04/13 11:54:18 Info Util.GSET: Kapazität = 2^15 = 32768 Einträge 19/04/13 11:54:18 Info Namenode.FSIMAGE: Zugewiesene neue Blockpoolid: BP-415167234-192.168.1.108-1555142058167 19/04/13 11:54:18 Info Gemeinsam.Speicher: Speicherverzeichnis/Home/Hadoop/HDFS/Namenode wurde erfolgreich formatiert. 19/04/13 11:54:18 Info Namenode.FSImageFormatProtobuf: Bilddatei speichern/home/hadoop/hdfs/namenode/current/fsimage.CKPT_00000000000000000000 Verwenden Sie keine Komprimierung 19/04/13 11:54:18 Info Namenode.FSimageFormatProtobuf: Bilddatei/Home/Hadoop/HDFS/NAMENODE/Current/Fsimage.CKPT_00000000000000000 von Größe 323 Bytes in 0 Sekunden gespeichert. 19/04/13 11:54:18 Info Namenode.NnstorageretentionManager: Ich werde 1 Bilder mit TXID> = 0 19/04/13 11:54:18 Info Util erhalten.ExitUtil: Ausgang mit Status 0 19/04/13 11:54:18 Info Namenode.Namenode: Shutdown_MSG: /************************************************************************* ************************************.Sandkasten.com/192.168.1.108 ********************************************************** ***********/ 

Sobald der Namenode formatiert wurde, starten Sie die HDFs mit dem Start-dfs.Sch Skript.

$ start-dfs.Sch 
[Hadoop@hadoop ~] $ start-dfs.sh starten namenoden auf [Hadoop.Sandkasten.com] hadoop.Sandkasten.com: Namenode starten, an/home/hadoop/hadoop-2 anmelden.8.5/logs/hadoop-hadoop-namenode-hadoop.Sandkasten.com.aus Hadoop.Sandkasten.com: Datanode starten, anmelden sich an/home/hadoop/hadoop-2.8.5/Protokolle/Hadoop-Hadoop-Datanode-Hadoop.Sandkasten.com.Aus dem sekundären Namenoden [0).0.0.0] Die Authentizität des Hosts '0.0.0.0 (0.0.0.0) 'kann nicht festgelegt werden. ECDSA Key Fingerabdruck ist SHA256: E+NFCEK/KVNIGNWDHGFVIKHJBWWGHIIJJKFJYGR7NKI. Sind Sie sicher, dass Sie sich weiter verbinden möchten (Ja/Nein)? Ja 0.0.0.0: Warnung: Dauerhaft '0 hinzugefügt' 0.0.0.0 '(ECDSA) in die Liste der bekannten Hosts. [email protected]'s Passwort: 0.0.0.0: SecondaryNamenode starten, an/home/hadoop/hadoop-2 anmelden.8.5/Protokolle/Hadoop-Hadoop-Sekondarynamenode-Hadoop.Sandkasten.com.aus 

Um die Garndienste zu starten, müssen Sie das Garn -Startskript i ausführen.e. Start marnt.Sch

$ start marn.Sch 
[Hadoop@hadoop ~] $ start marn.SH Garn-Daemons Starten von Ressourcenanager, Anmeldung bei/Home/Hadoop/Hadoop-2.8.5/Protokolle/Garn-Hadoop-Ressourcemanager-Hadoop.Sandkasten.com.aus Hadoop.Sandkasten.com: NodeManager starten, an/home/hadoop/hadoop-2 anmelden.8.5/Protokolle/Garn-Hadoop-Nodemanager-Hadoop.Sandkasten.com.aus 

Um alle Hadoop -Dienste/Dämonen erfolgreich zu überprüfen, können Sie die verwenden JPS Befehl.

$ JPS 2033 Namenode 2340 SecondaryNamenode 2566 ResourceManager 2983 JPS 2139 Datanode 2671 NodeManager 

Jetzt können wir die aktuelle Hadoop -Version überprüfen, die Sie unten verwenden können:

$ hadoop Version 

oder

$ HDFS -Version 
[Hadoop@hadoop ~] $ hadoop Version Hadoop 2.8.5 Subversion https: // git-wip-us.Apache.org/repos/asf/hadoop.GIT -r 0B8464D75227FCEE2C6E7F2410377B3D53D3D5F8 VON JDU am 2018-09-10T03: 32Z kompiliert mit Protoc 2 zusammengestellt.5.0 von Quelle mit Prüfsummen 9942CA5C745417C14E318835F420733 Dieser Befehl wurde mit/home/hadoop/hadoop-2 ausgeführt.8.5/Share/Hadoop/Common/Hadoop-common-2.8.5.Jar [Hadoop@hadoop ~] $ hdfs Version Hadoop 2.8.5 Subversion https: // git-wip-us.Apache.org/repos/asf/hadoop.GIT -r 0B8464D75227FCEE2C6E7F2410377B3D53D3D5F8 VON JDU am 2018-09-10T03: 32Z kompiliert mit Protoc 2 zusammengestellt.5.0 von Quelle mit Prüfsummen 9942CA5C745417C14E318835F420733 Dieser Befehl wurde mit/home/hadoop/hadoop-2 ausgeführt.8.5/Share/Hadoop/Common/Hadoop-common-2.8.5.Jar [Hadoop@hadoop ~] $ 


HDFS -Befehlszeilenschnittstelle

Um auf die HDFs zuzugreifen und einige Verzeichnisse auf dem DFS zu erstellen, können Sie HDFS CLI verwenden.

$ hdfs dfs -mkdir /testdata $ hdfs dfs -mkdir /hadoopdata $ hdfs dfs -ls / 
[Hadoop@hadoop ~] $ hdfs dfs -ls / gefunden 2 Artikel DRWXR-XR-X-Hadoop Supergroup 0 2019-04-13 11:58 / hadoopdata drwxr-XR-X-Hadoop Supergroup 0 2019-04-13 11: 59 /testData 

Greifen Sie vom Browser auf den Namenode und Garn zuzugreifen

Sie können über einen der Browser wie Google Chrome/Mozilla Firefox auf die Web -Benutzeroberfläche für Namenode- und Garnressourcenmanager zugreifen.

Namenode Web UI - http: //: 50070

NAMENODE -Webbenutzeroberfläche. HDFS -Detailinformationen. HDFS -Verzeichnis Browsing.

Die Weboberfläche des Yarn Resource Managers (RM) zeigt alle laufenden Jobs auf dem aktuellen Hadoop -Cluster an.

Ressourcenmanager Web -Benutzeroberfläche - http: //: 8088

Ressourcenmanager (Garn) Webbenutzeroberfläche.

Abschluss

Die Welt verändert die Art und Weise, wie sie derzeit funktioniert, und Big-Data spielt in dieser Phase eine wichtige Rolle. Hadoop ist ein Framework, das unser Leben erleichtert, während wir an großen Datensätzen arbeiten. Es gibt Verbesserungen an allen Fronten. Die Zukunft ist aufregend.

Verwandte Linux -Tutorials:

  • Ubuntu 20.04 Hadoop
  • Dinge zu installieren auf Ubuntu 20.04
  • So erstellen Sie einen Kubernetes -Cluster
  • So installieren Sie Kubernetes auf Ubuntu 20.04 fokale Fossa Linux
  • So installieren Sie Kubernetes auf Ubuntu 22.04 Jammy Quallen…
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • Dinge zu installieren auf Ubuntu 22.04
  • Wie man mit der Woocommerce -REST -API mit Python arbeitet
  • So verwalten Sie Kubernetes -Cluster mit Kubectl
  • Eine Einführung in Linux -Automatisierung, Tools und Techniken