So installieren Sie Hadoop Single Node Cluster (Pseudonode) unter CentOS 7
Hadoop ist ein Open-Source-Framework, das für den Umgang mit Bigdata weit verbreitet ist. Die meisten Bigdata/Data Analytics-Projekte werden auf dem Hadoop Eco-System aufgebaut. Es besteht aus zwei Schichten, eine dient zum Speichern von Daten und eine andere zum Verarbeiten von Daten.
Die Speicherung erfolgt über ein eigenes Dateisystem namens HDFS (Hadoop Distributed Filesystem) und die Verarbeitung über YARN (Yet Another Resource Negotiator). Mapreduce ist die Standardverarbeitungs-Engine des Hadoop-Ökosystems.
In diesem Artikel wird der Prozess zur Installation der Pseudonode-Installation von Hadoop beschrieben, bei der alle Daemons (JVMs) Single Node Cluster unter CentOS 7 ausführen.
Dies ist hauptsächlich für Anfänger gedacht, um Hadoop zu lernen. In Echtzeit wird Hadoop als Multinode-Cluster installiert, in dem die Daten in Blöcken auf die Server verteilt werden und der Job parallel ausgeführt wird.
Voraussetzungen
- Eine minimale Installation des CentOS 7-Servers.
- Java v1.8 Version.
- Stabile Version von Hadoop 2.x.
Auf dieser Seite
- So installieren Sie Java unter CentOS 7
- Einrichten der passwortlosen Anmeldung unter CentOS 7
- So installieren Sie Hadoop Single Node in CentOS 7
- So konfigurieren Sie Hadoop in CentOS 7
- Formatieren des HDFS-Dateisystems über den NameNode
Installieren von Java unter CentOS 7
1. Hadoop ist ein Ökosystem, das aus Java besteht. Für die Installation von Hadoop muss Java auf unserem System installiert sein.
# yum install java-1.8.0-openjdk
2. Überprüfen Sie als Nächstes die installierte Version von Java auf dem System.
# java -version
Konfigurieren der passwortlosen Anmeldung unter CentOS 7
Wir müssen SSH auf unserem Rechner konfiguriert haben, Hadoop verwaltet Knoten mit SSH. Der Master-Knoten verwendet eine SSH-Verbindung, um seine Slave-Knoten zu verbinden und Vorgänge wie Start und Stopp auszuführen.
Wir müssen passwortloses SSH einrichten, damit der Master mit Slaves über SSH ohne Passwort kommunizieren kann. Andernfalls müssen Sie für jeden Verbindungsaufbau das Passwort eingeben.
In diesem einen Knoten werden die Master-Dienste (Namenode, Secondary Namenode & Resource Manager) und die Slave-Dienste (Datanode & Nodemanager) als separate JVMs ausgeführt. Obwohl es sich um einen einzigen Knoten handelt, benötigen wir passwortloses SSH, damit der Master ohne Authentifizierung mit dem Slave kommuniziert.
3. Richten Sie eine passwortlose SSH-Anmeldung mit den folgenden Befehlen auf dem Server 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
Installieren von Hadoop in CentOS 7
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.gz
6. Fügen Sie als Nächstes die Hadoop-Umgebungsvariablen in der Datei ~/.bashrc hinzu, wie gezeigt.
HADOOP_PREFIX=/root/hadoop-2.10.1
PATH=$PATH:$HADOOP_PREFIX/bin
export PATH JAVA_HOME HADOOP_PREFIX
7. Nachdem Sie der Datei Umgebungsvariablen zu ~/.bashrc hinzugefügt haben, beziehen Sie die Datei und überprüfen Sie Hadoop, indem Sie die folgenden Befehle ausführen.
# source ~/.bashrc
cd $HADOOP_PREFIX
bin/hadoop version
Konfigurieren von Hadoop in CentOS 7
Wir müssen die folgenden Hadoop-Konfigurationsdateien konfigurieren, damit sie in Ihren Computer passen. In Hadoop verfügt jeder Dienst über eine eigene Portnummer und ein eigenes Verzeichnis zum Speichern der Daten.
- Hadoop-Konfigurationsdateien – core-site.xml, hdfs-site.xml, mapred-site.xml und yarn-site.xml
8. Zuerst müssen wir JAVA_HOME und den Hadoop-Pfad in der hadoop-env.sh Datei aktualisieren, 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/jre
export HADOOP_PREFIX=/root/hadoop-2.10.1
9. Ändern Sie als Nächstes die core-site.xml Datei.
# cd $HADOOP_PREFIX/etc/hadoop
vi core-site.xml
Fügen Sie die folgenden Tags zwischen <configuration> ein, wie gezeigt.
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
10. Erstellen Sie die folgenden Verzeichnisse unter dem Home-Verzeichnis des tecmint-Benutzers, das für die NN- und DN-Speicherung verwendet wird.
# mkdir -p /home/tecmint/hdata/
mkdir -p /home/tecmint/hdata/data
mkdir -p /home/tecmint/hdata/name
10. Ändern Sie als Nächstes die hdfs-site.xml Datei.
# cd $HADOOP_PREFIX/etc/hadoop
vi hdfs-site.xml
Fügen Sie die folgenden Tags zwischen <configuration> ein, wie gezeigt.
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/tecmint/hdata/name</value>
</property>
<property>
<name>dfs .datanode.data.dir</name>
<value>home/tecmint/hdata/data</value>
</property>
</configuration>
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 die folgenden Tags zwischen <configuration> ein, wie gezeigt.
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
12. Ändern Sie abschließend die yarn-site.xml Datei.
# cd $HADOOP_PREFIX/etc/hadoop
vi yarn-site.xml
Fügen Sie die folgenden Tags zwischen <configuration> ein, wie gezeigt.
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
Formatieren des HDFS-Dateisystems über den NameNode
13. Bevor wir den Cluster starten, müssen wir den Hadoop NN in unserem lokalen System formatieren, auf dem er installiert wurde. In der Regel erfolgt dies in der Anfangsphase, bevor der Cluster zum ersten Mal gestartet wird.
Das Formatieren des NN 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 den NameNode-Daemon und den DataNode-Daemon (Port 50070).
# cd $HADOOP_PREFIX
sbin/start-dfs.sh
15. Starten Sie den ResourceManager-Daemon und den NodeManager-Daemon (Port 8088).
# sbin/start-yarn.sh
16. Alle Dienste zu stoppen.
# sbin/stop-dfs.sh
sbin/stop-dfs.sh
Zusammenfassung
Zusammenfassung
In diesem Artikel haben wir Schritt für Schritt den Prozess zum Einrichten eines Hadoop-Pseudonode-Clusters (Single Node) durchlaufen. Wenn Sie über grundlegende Linux-Kenntnisse verfügen und die folgenden Schritte ausführen, ist der Cluster in 40 Minuten wieder aktiv.
Dies kann für den Anfänger sehr nützlich sein, um mit dem Erlernen und Üben von Hadoop zu beginnen, oder diese Vanilla-Version von Hadoop kann zu Entwicklungszwecken verwendet werden. Wenn wir einen Echtzeit-Cluster haben möchten, benötigen wir entweder mindestens 3 physische Server in der Hand oder müssen die Cloud für mehrere Server bereitstellen.







