Com instal·lar Hadoop Single Node Cluster (Pseudonode) a CentOS 7


Hadoop és un marc de codi obert que s'utilitza àmpliament per tractar Bigdata. La majoria dels projectes de Bigdata/Data Analytics s'estan construint a sobre de l'ecosistema Hadoop. Consta de dues capes, una per emmagatzemar dades i una altra per processar dades.

L'emmagatzematge s'encarregarà del seu propi sistema de fitxers anomenat HDFS (Hadoop Distributed Filesystem) i el processament serà a càrrec de YARN (Yet Another Resource Negotiator). Mapreduce és el motor de processament predeterminat de l'ecosistema Hadoop.

Aquest article descriu el procés per instal·lar la instal·lació de Pseudonode de Hadoop, on tots els dimonis (JVM) executaran el clúster de nodes únics a CentOS 7.

Això és principalment perquè els principiants aprenguin Hadoop. En temps real, Hadoop s'instal·larà com un clúster multinode on les dades es distribuiran entre els servidors com a blocs i el treball s'executarà de manera paral·lela.

  • Una instal·lació mínima del servidor CentOS 7.
  • Versió de Java v1.8.
  • Versió estable de Hadoop 2.x.

En aquesta pàgina

  • Com instal·lar Java a CentOS 7
  • Configura l'inici de sessió sense contrasenya a CentOS 7
  • Com instal·lar Hadoop Single Node a CentOS 7
  • Com configurar Hadoop a CentOS 7
  • Format del sistema de fitxers HDFS mitjançant el NameNode

1. Hadoop és un Ecosistema que està format per Java. Necessitem Java instal·lat al nostre sistema obligatòriament per instal·lar Hadoop.

# yum install java-1.8.0-openjdk

2. A continuació, verifiqueu la versió de Java instal·lada al sistema.

# java -version

Hem de tenir ssh configurat a la nostra màquina, Hadoop gestionarà nodes amb l'ús de SSH. El node mestre utilitza la connexió SSH per connectar els seus nodes esclaus i realitzar operacions com ara iniciar i aturar.

Hem de configurar ssh sense contrasenya perquè el mestre es pugui comunicar amb els esclaus mitjançant ssh sense contrasenya. En cas contrari, per a cada establiment de connexió, cal introduir la contrasenya.

En aquest node únic, els serveis mestres (Namenode, Namenode secundari i gestor de recursos) i els serveis esclaus (Datanode i Nodemanager) s'executaran com a JVM separades. Tot i que és un node únic, hem de tenir ssh sense contrasenya perquè el mestre es comuniqui amb l'esclau sense autenticació.

3. Configureu un inici de sessió SSH sense contrasenya mitjançant les ordres següents al servidor.

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

4. Després d'haver configurat l'inici de sessió SSH sense contrasenya, proveu d'iniciar sessió de nou; us connectareu sense contrasenya.

# ssh localhost

5. Aneu al lloc web d'Apache Hadoop i descarregueu la versió estable d'Hadoop mitjançant l'ordre wget següent.

# 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. A continuació, afegiu les variables d'entorn Hadoop al fitxer ~/.bashrc tal com es mostra.

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

7. Després d'afegir variables d'entorn al fitxer ~/.bashrc, proveu el fitxer i verifiqueu l'Hadoop executant les ordres següents.

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

Hem de configurar els fitxers de configuració de Hadoop a continuació per tal d'encaixar a la vostra màquina. A Hadoop, cada servei té el seu propi número de port i el seu propi directori per emmagatzemar les dades.

  • Fitxers de configuració de Hadoop: core-site.xml, hdfs-site.xml, mapred-site.xml i yarn-site.xml

8. Primer, hem d'actualitzar JAVA_HOME i la ruta de Hadoop al fitxer hadoop-env.sh tal com es mostra.

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

Introduïu la línia següent al començament del fitxer.

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

9. A continuació, modifiqueu el fitxer core-site.xml.

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

Enganxeu el següent entre les etiquetes <configuration> tal com es mostra.

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

10. Creeu els directoris següents al directori d'inici de l'usuari tecmint, que s'utilitzarà per a l'emmagatzematge NN i DN.

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

10. A continuació, modifiqueu el fitxer hdfs-site.xml.

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

Enganxeu el següent entre les etiquetes <configuration> tal com es mostra.

<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. De nou, modifiqueu el fitxer mapred-site.xml.

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

Enganxeu el següent entre les etiquetes <configuration> tal com es mostra.

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

12. Finalment, modifiqueu el fitxer yarn-site.xml.

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

Enganxeu el següent entre les etiquetes <configuration> tal com es mostra.

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

13. Abans d'iniciar el Clúster, hem de formatar l'Hadoop NN al nostre sistema local on s'ha instal·lat. Normalment, es farà en la fase inicial abans d'iniciar el clúster per primera vegada.

Formatar l'NN provocarà la pèrdua de dades a la metamagatzem NN, de manera que hem de ser més prudents, no hem de formatar NN mentre el clúster s'executa tret que es requereixi intencionadament.

# cd $HADOOP_PREFIX
# bin/hadoop namenode -format

14. Inicieu el dimoni NameNode i el dimoni DataNode: (port 50070).

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

15. Inicieu el dimoni ResourceManager i el dimoni NodeManager: (port 8088).

# sbin/start-yarn.sh

16. Parar tots els serveis.

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

Resum
En aquest article, hem seguit el procés pas a pas per configurar el clúster Hadoop Pseudonode (node únic). Si teniu coneixements bàsics de Linux i seguiu aquests passos, el clúster s'activarà en 40 minuts.

Això pot ser molt útil perquè el principiant comenci a aprendre i practicar Hadoop o aquesta versió vainilla d'Hadoop es pot utilitzar amb finalitats de desenvolupament. Si volem tenir un clúster en temps real, o necessitem almenys 3 servidors físics a la mà o bé hem d'aprovisionar el Cloud per tenir diversos servidors.