Wéi installéiere ech Hadoop Single Node Cluster (Pseudonode) op CentOS 7


Hadoop ass en Open-Source Kader dee vill benotzt gëtt fir mat Bigdata ze këmmeren. Déi meescht vun de Bigdata/Data Analytics Projete ginn uewen um Hadoop Eco-System opgebaut. Et besteet aus zwee-Schichten, een ass fir Daten ze späicheren an eng aner ass fir Datenveraarbechtung.

D'Lagerung gëtt vu sengem eegene Dateiesystem genannt HDFS (Hadoop Distributed Filesystem) gekëmmert an d'Veraarbechtung gëtt vum YARN (Yet Another Resource Negotiator) gekëmmert. Mapreduce ass de Standardveraarbechtungsmotor vum Hadoop Eco-System.

Dësen Artikel beschreift de Prozess fir d'Pseudonode Installatioun vun Hadoop z'installéieren, wou all d'Dämonen (JVMs) Single Node Cluster op CentOS 7 lafen.

Dëst ass haaptsächlech fir Ufänger Hadoop ze léieren. An Echtzäit gëtt Hadoop als Multinode Cluster installéiert, wou d'Donnéeën tëscht de Serveren als Block verdeelt ginn an d'Aarbecht parallel ausgefouert gëtt.

  • Eng minimal Installatioun vum CentOS 7 Server.
  • Java v1.8 Verëffentlechung.
  • Hadoop 2.x stabil Verëffentlechung.

Op dëser Säit

  • Wéi installéiere ech Java op CentOS 7
  • Passwuertlos Login op CentOS 7 opsetzen
  • Wéi installéiere ech Hadoop Single Node am CentOS 7
  • Wéi konfiguréieren ech Hadoop am CentOS 7
  • Formatéiere vum HDFS Dateisystem iwwer den NameNode

1. Hadoop ass en Eco-System deen aus Java besteet. Mir brauchen Java an eisem System obligatoresch installéiert fir Hadoop z'installéieren.

# yum install java-1.8.0-openjdk

2. Nächst, z'iwwerpréiwen der installéiert Versioun vun Java op de System.

# java -version

Mir mussen ssh an eiser Maschinn konfiguréiert hunn, Hadoop wäert Noden mat der Notzung vu SSH verwalten. Master Node benotzt SSH Verbindung fir seng Sklavennoden ze verbannen an Operatioun auszeféieren wéi Start an Stop.

Mir mussen Passwuert-manner ssh opbauen, sou datt de Master mat Sklaven mat ssh ouni Passwuert kommunizéieren kann. Soss fir all Verbindung Etablissement, brauchen d'Passwuert ze gitt.

An dësem eenzegen Node, Master Servicer (Namenode, Secondary Namenode & Ressource Manager) a Sklave Servicer (Datanode & Nodemanager) lafen als separat JVMs. Och wann et Single Node ass, musse mir Passwuert-manner ssh hunn fir Master ze maachen fir Sklave ouni Authentifikatioun ze kommunizéieren.

3. Setzt e Passwuert-manner SSH Login mat de folgende Kommandoen op de Server.

# ssh-keygen
# ssh-copy-id -i localhost

4. Nodeems Dir Passwuertlos SSH Login konfiguréiert hutt, probéiert nach eng Kéier aloggen, Dir wäert ouni Passwuert verbonne sinn.

# ssh localhost

5. Gitt op d'Apache Hadoop Websäit a luet déi stabil Verëffentlechung vun Hadoop erof mat dem folgenden wget Kommando.

# 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. Als nächst fügen d'Hadoop-Ëmfeldvariablen an ~/.bashrc-Datei wéi gewisen.

HADOOP_PREFIX=/root/hadoop-2.10.1
PATH=$PATH:$HADOOP_PREFIX/bin
export PATH JAVA_HOME HADOOP_PREFIX

7. Nodeems Dir d'Ëmfeldsvariablen op ~/.bashrc d'Datei bäigefüügt hutt, Quell d'Datei a verifizéiert den Hadoop andeems Dir déi folgend Kommandoen ausféiert.

# source ~/.bashrc
# cd $HADOOP_PREFIX
# bin/hadoop version

Mir mussen ënnert Hadoop Konfiguratiounsdateien konfiguréieren fir an Är Maschinn ze passen. An Hadoop huet all Service seng eege Portnummer an säin eegene Verzeechnes fir d'Donnéeën ze späicheren.

  • Hadoop Konfiguratiounsdateien – core-site.xml, hdfs-site.xml, mapred-site.xml & yarn-site.xml

8. Als éischt musse mir JAVA_HOME an den Hadoop-Wee an der hadoop-env.sh Datei aktualiséieren wéi gewisen.

# cd $HADOOP_PREFIX/etc/hadoop
# vi hadoop-env.sh

Gitt déi folgend Zeil um Ufank vun der Datei.

export JAVA_HOME=/usr/lib/jvm/java-1.8.0/jre
export HADOOP_PREFIX=/root/hadoop-2.10.1

9. Als nächst ännert d'Datei core-site.xml.

# cd $HADOOP_PREFIX/etc/hadoop
# vi core-site.xml

Paste folgend tëscht <configuration> Tags wéi gewisen.

<configuration>
            <property>
                   <name>fs.defaultFS</name>
                   <value>hdfs://localhost:9000</value>
           </property>
</configuration>

10. Erstellt déi ënnescht Verzeichnisser ënner tecmint Benotzerheemverzeichnis, déi fir NN- an DN-Späichere benotzt ginn.

# mkdir -p /home/tecmint/hdata/
# mkdir -p /home/tecmint/hdata/data
# mkdir -p /home/tecmint/hdata/name

10. Als nächst ännert d'Datei hdfs-site.xml.

# cd $HADOOP_PREFIX/etc/hadoop
# vi hdfs-site.xml

Paste folgend tëscht <configuration> Tags wéi gewisen.

<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. Ännere nach eng Kéier d'Datei mapred-site.xml.

# cd $HADOOP_PREFIX/etc/hadoop
# cp mapred-site.xml.template mapred-site.xml
# vi mapred-site.xml

Paste folgend tëscht <configuration> Tags wéi gewisen.

<configuration>
                <property>
                        <name>mapreduce.framework.name</name>
                        <value>yarn</value>
                </property>
</configuration>

12. Endlech, ännert d'Datei yarn-site.xml.

# cd $HADOOP_PREFIX/etc/hadoop
# vi yarn-site.xml

Paste folgend tëscht <configuration> Tags wéi gewisen.

<configuration>
                <property>
                       <name>yarn.nodemanager.aux-services</name>
                       <value>mapreduce_shuffle</value>
                </property>
</configuration>

13. Ier Dir de Cluster starten, musse mir den Hadoop NN an eisem lokalen System formatéieren, wou et installéiert gouf. Normalerweis gëtt et an der éischter Etapp gemaach ier de Stärekoup déi éischte Kéier ufänkt.

D'Formatéiere vum NN verursaacht Verloscht vun Daten am NN Metastore, also musse mir méi virsiichteg sinn, mir sollten NN net formatéieren wärend de Cluster leeft, ausser et ass bewosst erfuerderlech.

# cd $HADOOP_PREFIX
# bin/hadoop namenode -format

14. Start NameNode Daemon an DataNode Daemon: (port 50070).

# cd $HADOOP_PREFIX
# sbin/start-dfs.sh

15. Start ResourceManager Daemon an NodeManager Daemon: (port 8088).

# sbin/start-yarn.sh

16. Fir all d'Servicer ze stoppen.

# sbin/stop-dfs.sh
# sbin/stop-dfs.sh

Resumé
An dësem Artikel hu mir de Schrëtt fir Schrëtt Prozess duerchgaang fir Hadoop Pseudonode (Single Node) Cluster opzestellen. Wann Dir Basiskenntnisser vu Linux hutt an dës Schrëtt befollegt, wäert de Cluster an 40 Minutten UP sinn.

Dëst ka ganz nëtzlech sinn fir den Ufänger fir Hadoop ze léieren an ze üben oder dës Vanille Versioun vun Hadoop kann fir Entwécklungszwecker benotzt ginn. Wa mir en Echtzäitcluster wëllen hunn, brauche mir entweder op d'mannst 3 kierperlech Serveren an der Hand oder musse Cloud zur Verfügung stellen fir verschidde Serveren ze hunn.