GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie Apache Hadoop unter CentOS 7, Ubuntu 18.04 und Debian 9

Apache Hadoop ist ein in Java geschriebenes Open-Source-Software-Framework für verteilte Speicherung und verteilte Prozesse, das die sehr große Größe von Datensätzen handhabt, indem es sie über Computercluster verteilt.

Anstatt sich auf die Hochverfügbarkeit der Hardware zu verlassen, sind Hadoop-Module darauf ausgelegt, Fehler auf der Anwendungsebene zu erkennen und zu behandeln, sodass Sie einen hochverfügbaren Service erhalten.

Das Hadoop-Framework besteht aus den folgenden Modulen,

  • Hadoop Common – Es enthält einen gemeinsamen Satz von Bibliotheken und Dienstprogrammen, die andere Hadoop-Module unterstützen
  • Hadoop Distributed File System (HDFS) – ist ein Java-basiertes verteiltes Dateisystem, das Daten speichert und der Anwendung einen sehr hohen Durchsatz bietet.
  • Hadoop YARN – Es verwaltet Ressourcen auf Compute-Clustern und verwendet sie zum Planen von Benutzeranwendungen.
  • Hadoop MapReduce – ist ein Framework für die groß angelegte Datenverarbeitung.

Diese Anleitung hilft Ihnen bei der Installation von Apache Hadoop auf CentOS 7, Ubuntu 18.04 und Debian 9. Diese Anleitung sollte auch auf Ubuntu 16.04 funktionieren.

Voraussetzungen

Wechseln Sie zum Root-Benutzer.

su -

ODER

sudo su -

Installieren Sie Java

Apache Hadoop erfordert nur Java Version 8. Sie können also entweder OpenJDK oder Oracle JDK installieren.

LESEN: So installieren Sie Oracle Java unter CentOS 7 / RHEL 7

LESEN: So installieren Sie Oracle Java unter Ubuntu 18.04

LESEN: So installieren Sie Oracle Java unter Debian 9

Hier werde ich für diese Demo OpenJDK 8 installieren.

### CentOS 7 / RHEL 7 ### # yum -y install java-1.8.0-openjdk wget### Ubuntu 18.04 / 16.04 &Debian 9 ### # apt update # apt install -y openjdk-8-jdk wget

Überprüfen Sie die Java-Version.

# Java-Version

Ausgabe:

openjdk-Version „1.8.0_212“OpenJDK-Laufzeitumgebung (Build 1.8.0_212-b04)OpenJDK 64-Bit-Server-VM (Build 25.212-b04, gemischter Modus)

Hadoop-Benutzer erstellen und passwortlose Authentifizierung aktivieren

Es wird empfohlen, einen regulären Benutzer zu erstellen, um Apache Hadoop zu konfigurieren und auszuführen. Erstellen Sie also einen Benutzer namens hadoop und legen Sie ein Passwort fest.

# useradd -m -d /home/hadoop -s /bin/bash hadoop# passwd hadoop

Nachdem Sie einen Benutzer erstellt haben, konfigurieren Sie passwortloses ssh für das lokale System. Erstellen Sie mit den folgenden Befehlen einen SSH-Schlüssel.

# su - hadoop$ ssh-keygen$ cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys$ chmod 600 ~/.ssh/authorized_keys

Überprüfen Sie die passwortlose Kommunikation mit dem lokalen System. Wenn Sie zum ersten Mal ssh verwenden, geben Sie yes ein, um bekannten Hosts RSA-Schlüssel hinzuzufügen.

$ ssh 127.0.0.1

Installieren Sie Apache Hadoop

Hadoop herunterladen

Sie können die Apache Hadoop-Seite besuchen, um das neueste Hadoop-Paket herunterzuladen, oder Sie können den folgenden Befehl im Terminal eingeben, um Hadoop v3.2.0 herunterzuladen.

$ wget https://www-us.apache.org/dist/hadoop/common/stable/hadoop-3.2.0.tar.gz$ tar -zxvf hadoop-3.2.0.tar.gz $ mv hadoop -3.2.0 hadoop

Hadoop installieren

Hadoop unterstützt drei Cluster-Modi

  1. Lokaler (eigenständiger) Modus – Er wird als einzelner Java-Prozess ausgeführt.
  2. Pseudo-Verteilter Modus – Jeder Hadoop-Daemon wird in einem separaten Prozess ausgeführt.
  3. Vollständig verteilter Modus – Es handelt sich um einen tatsächlichen Multinode-Cluster, der von wenigen Knoten bis zu extrem großen Clustern reicht.

Umgebungsvariablen einrichten

Hier konfigurieren wir Hadoop im pseudoverteilten Modus. Setzen Sie zunächst Umgebungsvariablen in der Datei ~/.bashrc.

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre ## Ändern Sie es entsprechend Ihrem System export HADOOP_HOME=/home/hadoop/hadoop ## Ändern Sie es entsprechend Ihrem System export HADOOP_INSTALL=$HADOOP_HOMEexport HADOOP_MAPRED_HOME=$HADOOP_HOMEexport HADOOP_COMMON_HOME=$HADOOP_HOMEexport HADOOP_HDFS_HOME=$HADOOP_HOMEexport HADOOP_YARN_HOME=$HADOOP_HOMEexport HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/libbin/nativeexport PATH=$PATH$HADOOP:$HADOOPH:$HADOOPH> 

Umgebungsvariablen auf die aktuelle Sitzung anwenden.

$ source ~/.bashrc

Konfigurationsdateien ändern

Bearbeiten Sie die Hadoop-Umgebungsdatei.

vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh

Legen Sie die Umgebungsvariable JAVA_HOME fest.

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre

Hadoop hat viele Konfigurationsdateien, und wir müssen sie abhängig von den Cluster-Modi bearbeiten, die wir eingerichtet haben (pseudo-verteilt).

$ cd $HADOOP_HOME/etc/hadoop

Bearbeiten Sie core-site.xml.

  fs.defaultFS hdfs://server.itzgeek.local :9000 

Bearbeiten Sie hdfs-site.xml.

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

Erstellen Sie die Verzeichnisse NameNode und DataNode im Home-Verzeichnis des Hadoop-Benutzers.

 mkdir -p ~/hadoopdata/hdfs/{namenode,datanode}

Bearbeiten Sie mapred-site.xml.

  mapreduce.framework.name yarn 

Bearbeiten Sie wool-site.xml.

  yarn.nodemanager.aux-services mapreduce_shuffle 

Formatieren Sie nun den NameNode mit dem folgenden Befehl. Vergessen Sie nicht, das Speicherverzeichnis zu überprüfen.

$ hdfs namenode -format

Ausgabe:

. . .. . .2019-05-12 06:38:42,066 INFO common.Storage:Speicherverzeichnis /home/hadoop/hadoopdata/hdfs/namenode wurde erfolgreich formatiert.2019-05-12 06:38:42,169 INFO namenode.FSImageFormatProtobuf:Speichern des Bildes Datei /home/hadoop/hadoopdata/hdfs/namenode/current/fsimage.ckpt_0000000000000000000 ohne Komprimierung2019-05-12 06:38:42,483 INFO namenode.FSImageFormatProtobuf:Bilddatei /home/hadoop/hadoopdata/hdfs/namenode/current/fsimage .ckpt_0000000000000000000 mit einer Größe von 401 Bytes in 0 Sekunden gespeichert SHUTDOWN_MSG:/************************************************ *************SHUTDOWN_MSG:Herunterfahren von NameNode auf server.itzgeek.local/192.168.1.10*********************** *************************************/

Firewall

Lassen Sie Apache Hadoop durch die Firewall zu. Führen Sie die folgenden Befehle als Root-Benutzer aus.

FirewallD:

firewall-cmd --permanent --add-port=9870/tcpfirewall-cmd --permanent --add-port=8088/tcpfirewall-cmd --reload

UFW:

ufw 9870 zulassen/tcpufw 8088 zulassen/tcpufw neu laden

Starten Sie den NameNode-Daemon und den DataNode-Daemon mithilfe der von Hadoop bereitgestellten Skripts im /sbin-Verzeichnis.

$ start-dfs.sh

Ausgabe:

Starten von Namenodes auf [server.itzgeek.local]server.itzgeek.local:Warnung:Permanent hinzugefügt 'server.itzgeek.local,192.168.1.10' (ECDSA) zur Liste bekannter Hosts.Starten von datanodeslocalhost:Warnung:Permanent „localhost“ (ECDSA) zur Liste bekannter Hosts hinzugefügt.Sekundäre Namenodes werden gestartet [server.itzgeek.local]2019-05-12 06:39:14,171 WARN util.NativeCodeLoader:Die native Hadoop-Bibliothek für Ihre Plattform konnte nicht geladen werden. .. gegebenenfalls eingebaute Java-Klassen verwenden

Öffnen Sie Ihren Webbrowser und rufen Sie die folgende URL auf, um den NameNode zu durchsuchen.

http://ip.ad.dre.ss:9870/

Starten Sie den ResourceManager-Daemon und den NodeManager-Daemon.

$ start-garn.sh

Ausgabe:

Ressourcenmanager startenNodemanager starten

Öffnen Sie Ihren Webbrowser und rufen Sie die folgende URL auf, um auf den ResourceManager zuzugreifen.

http://ip.ad.dre.ss:8088/

Testen Sie den Hadoop-Einzelknotencluster

Lassen Sie sich vor dem Upload ein Verzeichnis bei HDFS anlegen.

$ hdfs dfs -mkdir /raj

Lassen Sie uns eine Datei namens raj.

in das HDFS-Verzeichnis hochladen
$ hdfs dfs -put ~/.bashrc /raj

Hochgeladene Dateien können unter NameNode angezeigt werden>> Dienstprogramme >>Durchsuchen Sie das Dateisystem im Namensknoten.

http://ip.ad.dre.ss/explorer.html#/raj

Kopieren Sie die Dateien von HDFS in Ihre lokalen Dateisysteme.

$ hdfs dfs -get /raj /tmp/

Sie können die Dateien und Verzeichnisse mit den folgenden Befehlen löschen.

hdfs dfs -rm -f /raj/.bashrchdfs dfs -rmdir /raj

Schlussfolgerung

Das ist alles. Sie haben erfolgreich einen Hadoop-Cluster mit einem Knoten konfiguriert und das Hadoop-Dateisystem getestet. Bitte teilen Sie uns Ihr Feedback im Kommentarbereich mit.


Cent OS
  1. So installieren Sie Apache Hadoop auf Debian 9 Stretch

  2. So installieren Sie Apache Hadoop unter Debian 11

  3. So installieren Sie Apache Hadoop auf CentOS 7

  4. So installieren Sie Apache Hadoop auf CentOS 8

  5. So installieren Sie Hadoop unter Debian 11

So installieren Sie Apache unter CentOS 8

So installieren Sie Apache Maven auf CentOS 8

So installieren Sie Apache Maven unter CentOS 8

So installieren Sie Kubernetes unter CentOS 7, Ubuntu 18.04 / 16.04 und Debian 9

So installieren Sie Apache Maven unter Ubuntu 18.04 / Ubuntu 16.04 und Debian 9

So installieren Sie Apache unter Ubuntu 20.04