Instalar Hadoop en Debian 10 [SOLUCIONADO]

Preparación del Sistema Operativo Debian 10 para Hadoop

Antes de adentrarnos en los pasos específicos para la instalación del ecosistema Hadoop en Debian 10, es imperativo asegurarse de que el sistema se encuentre actualizado y configurado apropiadamente. La actualización de paquetes es una buena práctica que puede ahorrarles muchos contratiempos futuros a los desarrolladores y administradores de sistemas. Ejecute los siguientes comandos para actualizar su sistema:

sudo apt-get update
sudo apt-get upgrade

Tras actualizar el sistema, se deben establecer los parámetros de red correctos. Asegúrese de que el hostname esté configurado correctamente con:

hostnamectl set-hostname master-node

También es crucial para la operación de Hadoop establecer un intercambio de llaves SSH sin contraseña entre los nodos del clúster. Esto permite la comunicación segura entre máquinas sin la necesidad de ingresar una contraseña cada vez.

ssh-keygen -t rsa
ssh-copy-id user@host


Instalación de Java, Requisito Previo para Hadoop

Hadoop necesita de Java para funcionar, y por lo tanto, es necesario instalar Java en Debian 10 antes de proceder. Utilice Apt para instalar Java con:

sudo apt install openjdk-11-jdk

Tras la instalación, puede verificar la versión de Java con el siguiente comando:

java -version

Importante, también es necesario configurar la variable de entorno JAVA_HOME, la cual es utilizada por Hadoop. Abra el archivo /etc/environment y añada la ruta donde se instaló Java:

sudo nano /etc/environment
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"


Descarga y Configuración de Hadoop

Con Java instalado, podemos proceder a obtener Hadoop. Es posible descargarlo desde su página oficial o directamente desde la terminal utilizando wget. Una vez descargado, descomprima el archivo tar en el directorio de su elección:

wget https://downloads.apache.org/hadoop/common/hadoop-3.2.1/hadoop-3.2.1.tar.gz
tar -xzvf hadoop-3.2.1.tar.gz
mv hadoop-3.2.1 /usr/local/hadoop

El siguiente paso es la configuración de las variables de entorno para Hadoop. De manera similar a como se hizo con Java, añada las siguientes líneas al archivo /etc/environment:

HADOOP_HOME="/usr/local/hadoop"
HADOOP_CONF_DIR="/usr/local/hadoop/etc/hadoop"
PATH="$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin"

Actualice los cambios y verifique que las variables estén configuradas:

source /etc/environment
echo $JAVA_HOME
echo $HADOOP_HOME


Configuración de los Archivos de Hadoop

Una parte esencial para que Hadoop funcione correctamente en Debian 10 es establecer la configuración pertinente en los archivos dentro del directorio etc/hadoop. Comenzaremos con el archivo hadoop-env.sh

nano $HADOOP_CONF_DIR/hadoop-env.sh

Asegúrese de definir la variable JAVA_HOME dentro de este archivo:

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

El archivo core-site.xml debe ser modificado para establecer el directorio donde Hadoop guardará los archivos temporales. Inserte el siguiente contenido:

nano $HADOOP_CONF_DIR/core-site.xml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master-node:9000</value>
    </property>
</configuration>

El siguiente paso involucra los archivos hdfs-site.xml, los cuales especifican la configuración para el almacenamiento distribuido:

nano $HADOOP_CONF_DIR/hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

Por último, si va a configurar un clúster, el archivo workers debe tener los nombres de los nodos que lo conformarán. También se puede dejar vacío si desea ejecutar un clúster de un solo nodo:

sudo nano $HADOOP_CONF_DIR/workers
worker1
worker2


Inicialización del Sistema de Archivos HDFS y Ejecución de Hadoop

Con toda la configuración realizada, estamos preparados para iniciar por primera vez el sistema de archivos HDFS. Esto se hace formateando el sistema de archivos:

hdfs namenode -format

Una vez formateado HDFS, puede iniciar los servicios de Hadoop con:

start-dfs.sh
start-yarn.sh

Para verificar que todos los procesos están en ejecución puede utilizar:

jps

Finalmente, para acceder a la interfaz de usuario web de Hadoop y monitorear su clúster o realizar operaciones de mantenimiento, puede hacerlo mediante el navegador ingresando a la dirección IP del nodo maestro seguido del puerto 9870.

Resolución de Problemas Comunes en la Instalación de Hadoop

No es inusual encontrarse con algún obstáculo durante la configuración. Un problema frecuente es el incorrecto establecimiento del camino en JAVA_HOME. Revisar cuidadosamente la configuración de las variables de entorno puede ahorrarle tiempo. Otro punto a considerar es verificar la correcta funcionalidad del SSH sin contraseña, pues un fallo en la comunicación entre nodos puede conducir a fallos en la operación del clúster. Finalmente, asegúrese de que todos los puerto necesarios están abiertos en su firewall para permitir la comunicación entre los componentes de Hadoop.

Tips de Optimización y Mantenimiento Para Hadoop en Debian

Aunque tener un clúster de Hadoop en ejecución es un logro importante, para obtener el máximo rendimiento del sistema, es esencial estar atento a prácticas de optimización y rutinas de mantenimiento. Monitorear la utilización de recursos, revisar periódicamente los logs de Hadoop y mantener el software actualizado son algunas de las tareas que pueden mejorar significativamente la experiencia de trabajar con un clúster Hadoop.

Este artículo fue elaborado con la intención de proporcionar una guía detallada a aquellos que deseen instalar y configurar Hadoop en un sistema operativo Debian. Los pasos mencionados aquí deben servir como una sólida base para iniciar proyectos de análisis de grandes volúmenes de datos.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad