Cómo instalar Hadoop Single Node Cluster (Pseudonode) en CentOS 7


Hadoop es un marco de código abierto que se usa ampliamente para lidiar con Bigdata. La mayoría de los proyectos de Bigdata/Data Analytics se están construyendo sobre el ecosistema Hadoop. Consta de dos capas, una para almacenar datos y otra para procesar datos.

El almacenamiento estará a cargo de su propio sistema de archivos llamado HDFS (Hadoop Distributed Filesystem) y el procesamiento estará a cargo de YARN (Yet Another Resource Negotiator). Mapreduce es el motor de procesamiento predeterminado del Hadoop Eco-System.

Este artículo describe el proceso para instalar la instalación de Pseudonode de Hadoop, donde todos los demonios (JVM) ejecutarán un clúster de nodo único en CentOS 7.

Esto es principalmente para que los principiantes aprendan Hadoop. En tiempo real, Hadoop se instalará como un clúster multinodo donde los datos se distribuirán entre los servidores como bloques y el trabajo se ejecutará de forma paralela.

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

En esta página

  • Cómo instalar Java en CentOS 7
  • Configure el inicio de sesión sin contraseña en CentOS 7
  • Cómo instalar Hadoop Single Node en CentOS 7
  • Cómo configurar Hadoop en CentOS 7
  • Formateo del sistema de archivos HDFS a través del NameNode

1. Hadoop es un ecosistema que se compone de Java. Necesitamos Java instalado en nuestro sistema obligatoriamente para instalar Hadoop.

# yum install java-1.8.0-openjdk

2. A continuación, verifique la versión instalada de Java en el sistema.

# java -version

Necesitamos tener ssh configurado en nuestra máquina, Hadoop administrará los nodos con el uso de SSH. El nodo maestro usa la conexión SSH para conectar sus nodos esclavos y realizar operaciones como iniciar y detener.

Necesitamos configurar ssh sin contraseña para que el maestro pueda comunicarse con los esclavos usando ssh sin una contraseña. De lo contrario, para cada establecimiento de conexión, debe ingresar la contraseña.

En este único nodo, los servicios Master (Namenode, Secondary Namenode y Resource Manager) y los servicios Slave (Datanode y Nodemanager) se ejecutarán como JVM independientes. A pesar de que es un solo nodo, necesitamos tener ssh sin contraseña para que el maestro se comunique con el esclavo sin autenticación.

3. Configure un inicio de sesión SSH sin contraseña utilizando los siguientes comandos en el servidor.

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

4. Después de configurar el inicio de sesión SSH sin contraseña, intente iniciar sesión nuevamente, se conectará sin una contraseña.

# ssh localhost

5. Vaya al sitio web de Apache Hadoop y descargue la versión estable de Hadoop usando el siguiente comando wget.

# 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ón, agregue las variables de entorno de Hadoop en el archivo ~/.bashrc como se muestra.

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

7. Después de agregar variables de entorno a ~/.bashrc el archivo, obtenga el archivo y verifique Hadoop ejecutando los siguientes comandos.

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

Necesitamos configurar los archivos de configuración de Hadoop a continuación para que se ajusten a su máquina. En Hadoop, cada servicio tiene su propio número de puerto y su propio directorio para almacenar los datos.

  • Archivos de configuración de Hadoop: core-site.xml, hdfs-site.xml, mapred-site.xml y yarn-site.xml

8. Primero, necesitamos actualizar JAVA_HOME y la ruta de Hadoop en el archivo hadoop-env.sh como se muestra.

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

Ingrese la siguiente línea al comienzo del archivo.

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

9. A continuación, modifique el archivo core-site.xml .

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

Pegue lo siguiente entre las etiquetas como se muestra.

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

10. Cree los siguientes directorios en el directorio de inicio del usuario tecmint , que se utilizará para el almacenamiento NN y DN.

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

10. A continuación, modifique el archivo hdfs-site.xml .

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

Pegue lo siguiente entre las etiquetas como se muestra.

<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. Nuevamente, modifique el archivo mapred-site.xml .

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

Pegue lo siguiente entre las etiquetas como se muestra.

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

12. Por último, modifique el archivo yarn-site.xml .

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

Pegue lo siguiente entre las etiquetas como se muestra.

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

13. Antes de iniciar el Cluster, necesitamos formatear el Hadoop NN en nuestro sistema local donde se ha instalado. Por lo general, se realizará en la etapa inicial antes de iniciar el clúster por primera vez.

Formatear el NN provocará la pérdida de datos en el metastore de NN, por lo que debemos ser más cautelosos, no debemos formatear NN mientras el clúster se está ejecutando a menos que sea necesario intencionalmente.

# cd $HADOOP_PREFIX
# bin/hadoop namenode -format

14. Inicie el demonio NameNode y el demonio DataNode: (puerto 50070).

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

15. Inicie el demonio ResourceManager y el demonio NodeManager: (puerto 8088).

# sbin/start-yarn.sh

16. Para detener todos los servicios.

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

Resumen
En este artículo, hemos seguido el proceso paso a paso para configurar el clúster de pseudonodo (nodo único) de Hadoop. Si tiene conocimientos básicos de Linux y sigue estos pasos, el clúster estará activo en 40 minutos.

Esto puede ser muy útil para que el principiante comience a aprender y practicar Hadoop o esta versión básica de Hadoop se puede utilizar para fines de desarrollo. Si queremos tener un clúster en tiempo real, necesitamos al menos 3 servidores físicos en la mano o tenemos que aprovisionar la nube para tener varios servidores.