Hadoop ist ein Open-Source-Framework, das häufig für den Umgang mit Bigdata verwendet wird . Die meisten der Bigdata/Data Analytics Projekte werden auf dem Hadoop Eco-System aufgebaut . Es besteht aus zwei Schichten, eine dient zum Speichern von Daten und ein anderer ist für die Verarbeitung von Daten .
Speicherung wird von einem eigenen Dateisystem namens HDFS erledigt (Verteiltes Hadoop-Dateisystem ) und Verarbeitung wird von YARN übernommen (Noch ein Ressourcenverhandler ). Zuordnen ist die standardmäßige Verarbeitungs-Engine des Hadoop Eco-System .
Dieser Artikel beschreibt den Prozess zur Installation des Pseudonode Installation von Hadoop , wo alle Daemons (JVMs ) wird Single Node ausgeführt Cluster auf CentOS 7 .
Dies ist hauptsächlich für Anfänger gedacht, um Hadoop zu lernen. In Echtzeit, Hadoop wird als Multinode-Cluster installiert, in dem die Daten blockweise auf die Server verteilt und der Job parallel ausgeführt wird.
Voraussetzungen
- Eine minimale Installation des CentOS 7-Servers.
- Java v1.8-Release.
- Stabile Version von Hadoop 2.x.
Auf dieser Seite
- So installieren Sie Java unter CentOS 7
- Passwortlose Anmeldung unter CentOS 7 einrichten
- So installieren Sie Hadoop Single Node in CentOS 7
- So konfigurieren Sie Hadoop in CentOS 7
- Formatieren des HDFS-Dateisystems über den NameNode
Java auf CentOS 7 installieren
1. Hadoop ist ein Eco-System, das aus Java besteht . Wir brauchen Java zwingend in unserem System installiert, um Hadoop zu installieren .
# yum install java-1.8.0-openjdk
2. Überprüfen Sie als Nächstes die installierte Version von Java auf dem System.
# Java-Version
Passwortlose Anmeldung unter CentOS 7 konfigurieren
Wir müssen ssh auf unserem Rechner Hadoop konfiguriert haben verwaltet Knoten mit der Verwendung von SSH . Der Master-Knoten verwendet SSH Verbindung, um seine Slave-Knoten zu verbinden und Operationen wie Start und Stopp auszuführen.
Wir müssen passwortloses ssh einrichten, damit der Master mit Slaves kommunizieren kann, die ssh ohne Passwort verwenden. Ansonsten muss bei jedem Verbindungsaufbau das Passwort eingegeben werden.
3. Richten Sie mit den folgenden Befehlen auf dem Server eine passwortlose SSH-Anmeldung ein.
# ssh-keygen# ssh-copy-id -i localhost
4. Nachdem Sie die passwortlose SSH-Anmeldung konfiguriert haben, versuchen Sie erneut, sich anzumelden, Sie werden ohne Passwort verbunden.
# ssh localhost
Hadoop in CentOS 7 installieren
5. Rufen Sie die Apache Hadoop-Website auf und laden Sie die stabile Version von Hadoop mit dem folgenden wget-Befehl herunter.
# wget https://archive.apache.org/dist/hadoop/core/hadoop-2.10.1/hadoop-2.10.1.tar.gz# tar xvpzf hadoop-2.10.1.tar.gz6. Fügen Sie als Nächstes Hadoop hinzu Umgebungsvariablen in
~/.bashrc
Datei wie gezeigt.HADOOP_PREFIX=/root/hadoop-2.10.1PATH=$PATH:$HADOOP_PREFIX/binexport PATH JAVA_HOME HADOOP_PREFIX7. Nach dem Hinzufügen von Umgebungsvariablen zu
~/.bashrc
die Datei, geben Sie die Datei aus und überprüfen Sie Hadoop, indem Sie die folgenden Befehle ausführen.# source ~/.bashrc# cd $HADOOP_PREFIX# bin/hadoop-VersionHadoop in CentOS 7 konfigurieren
Wir müssen die folgenden Hadoop-Konfigurationsdateien konfigurieren, damit sie in Ihren Computer passen. In Hadoop Jeder Dienst hat seine eigene Portnummer und sein eigenes Verzeichnis zum Speichern der Daten.
- Hadoop-Konfigurationsdateien – core-site.xml, hdfs-site.xml, mapred-site.xml &wool-site.xml
8. Zuerst müssen wir JAVA_HOME
aktualisieren und Hadoop Pfad in hadoop-env.sh Datei wie gezeigt.
# cd $HADOOP_PREFIX/etc/hadoop# vi hadoop-env.sh
Geben Sie die folgende Zeile am Anfang der Datei ein.
export JAVA_HOME=/usr/lib/jvm/java-1.8.0/jreexport HADOOP_PREFIX=/root/hadoop-2.10.1
9. Als nächstes ändern Sie die core-site.xml
Datei.
# cd $HADOOP_PREFIX/etc/hadoop# vi core-site.xml
Fügen Sie Folgendes zwischen <configuration>
ein Tags wie gezeigt.
fs.defaultFS hdfs://localhost:9000
10. Erstellen Sie die folgenden Verzeichnisse unter tecmint
Benutzer-Home-Verzeichnis, das für NN verwendet wird und DN Speicher.
# mkdir -p /home/tecmint/hdata/# mkdir -p /home/tecmint/hdata/data# mkdir -p /home/tecmint/hdata/name
10. Als nächstes ändern Sie die hdfs-site.xml
Datei.
# cd $HADOOP_PREFIX/etc/hadoop# vi hdfs-site.xml
Fügen Sie Folgendes zwischen <configuration>
ein Tags wie gezeigt.
dfs.replication 1 dfs.namenode.name.dir /home/tecmint/ hdata/name dfs .datanode.data.dir home/tecmint/hdata/data
11. Ändern Sie erneut die mapred-site.xml
Datei.
# cd $HADOOP_PREFIX/etc/hadoop# cp mapred-site.xml.template mapred-site.xml# vi mapred-site.xml
Fügen Sie Folgendes zwischen <configuration>
ein Tags wie gezeigt.
mapreduce.framework.name yarn
12. Ändern Sie zuletzt die yarn-site.xml
Datei.
# cd $HADOOP_PREFIX/etc/hadoop# vi Garn-Site.xml
Fügen Sie Folgendes zwischen <configuration>
ein Tags wie gezeigt.
yarn.nodemanager.aux-services mapreduce_shuffle
Formatieren des HDFS-Dateisystems über den NameNode
13. Vor dem Starten des Clusters , müssen wir das Hadoop NN formatieren in unserem lokalen System, wo es installiert wurde. Normalerweise wird dies in der Anfangsphase vor dem ersten Start des Clusters durchgeführt.
NN formatieren führt zu Datenverlust im NN-Metastore, daher müssen wir vorsichtiger sein, wir sollten NN nicht formatieren während der Cluster ausgeführt wird, es sei denn, dies ist absichtlich erforderlich.
# cd $HADOOP_PREFIX# bin/hadoop namenode -format
14. Starten Sie NameNode Daemon und DataNode Daemon:(Port 50070 ).
# cd $HADOOP_PREFIX# sbin/start-dfs.sh
15. Starten Sie Ressourcenmanager Daemon und NodeManager Daemon:(Port 8088 ).
# sbin/start-yarn.sh
16. Um alle Dienste zu stoppen.
# sbin/stop-dfs.sh# sbin/stop-dfs.sh
Zusammenfassung
Zusammenfassung
In diesem Artikel haben wir Schritt für Schritt die Einrichtung von Hadoop Pseudonode beschrieben (Einzelner Knoten ) Cluster . Wenn Sie über grundlegende Linux-Kenntnisse verfügen und diese Schritte befolgen, ist der Cluster in 40 Minuten betriebsbereit.
Dies kann für Anfänger sehr nützlich sein, um mit dem Lernen und Üben von Hadoop zu beginnen oder diese Vanilla-Version von Hadoop kann für Entwicklungszwecke verwendet werden. Wenn wir einen Echtzeit-Cluster haben möchten, benötigen wir entweder mindestens 3 physische Server oder müssen die Cloud für mehrere Server bereitstellen.