Apache Hadoop o también conocido como Hadoop es un marco de código abierto basado en Java que permite el procesamiento distribuido de grandes conjuntos de datos entre computadoras. Se utiliza para almacenar y procesar grandes conjuntos de datos. Permite agrupar varias computadoras para almacenar y procesar datos más rápidamente en lugar de usar una sola computadora grande. Hadoop consta de cuatro módulos principales:
– HDFS (Sistema de archivos distribuidos de Hadoop)
– YARN (Otro negociador de recursos)
– MapReduce
– Hadoop Common
En este tutorial, explicaremos cómo instalar Hadoop en Debian 11.
Requisitos
- Debian 11
- Acceso raíz SSH o un usuario normal del sistema con privilegios sudo
Paso 1. Iniciar sesión en el servidor
Primero, inicie sesión en su servidor Debian 11 a través de SSH como usuario root:
ssh root@IP_Address -p Port_number
Reemplace "root" con un usuario que tenga privilegios sudo si es necesario. Además, reemplace "IP_Address" y "Port_Number" con la dirección IP y el número de puerto SSH respectivos de su servidor.
Puede comprobar si tiene instalada la versión adecuada de Debian en su servidor con el siguiente comando:
$ lsb_release -a
Deberías obtener este resultado:
No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 11 (bullseye) Release: 11 Codename: bullseye
Antes de comenzar, debe asegurarse de que todos los paquetes del sistema operativo Ubuntu instalados en el servidor estén actualizados.
Puede hacerlo ejecutando los siguientes comandos:
$ sudo apt update -y $ sudo apt upgrade -y
Paso 2. Cree un usuario del sistema y genere la clave SSH
No es una buena idea ejecutar Hadoop como root, por lo que, por razones de seguridad, crearemos un nuevo usuario del sistema:
$ sudo useradd -r hadoop -m -d /opt/hadoop --shell /bin/bash
Se ha creado un usuario 'hadoop', iniciemos sesión como usuario.
$ su - hadoop
Hadoop requiere acceso ssh para administrar sus nodos, ya sean remotos o locales. Para acceder a los nodos sin contraseña, podemos generar una clave SSH y copiar la clave pública en el archivo ~/.ssh/authorized_keys.
$ ssh-keygen -t rsa
Obtendrá un resultado como este.
hadoop@debian11:~$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/opt/hadoop/.ssh/id_rsa): Created directory '/opt/hadoop/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /opt/hadoop/.ssh/id_rsa Your public key has been saved in /opt/hadoop/.ssh/id_rsa.pub The key fingerprint is: SHA256:QYHlb6Is9n05OtnR+6i71t4MZeN9gVqGVCoa28aiUXg [email protected] The key's randomart image is: +---[RSA 3072]----+ | o+. . | | oo o | | . Eo. o | | o *oo . . | | . +S+oo ++. | | .o.oo. =+ o.| | o.o o =... o| | . o .o * o= .| | . o=+*o.+ | +----[SHA256]-----+
A continuación, agreguemos la clave pública de hadoop al archivo de clave autorizado, para permitir que el usuario 'hadoop' inicie sesión en el sistema sin contraseña y solo use la clave SSH.
$ cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys
Inicie sesión en el sistema a través de SSH ahora.
$ ssh localhost
Debería poder iniciar sesión en SSH sin una contraseña ahora.
Salgamos del usuario 'hadoop' y luego continuemos con el siguiente paso.
$ exit
Paso 3. Instalar Java
Hadoop está escrito en Java, por lo que necesitamos Java en nuestro sistema para poder ejecutar Hadoop. Ejecutemos este comando a continuación para instalar el JDK predeterminado para Java desde el repositorio.
$ sudo apt install default-jdk default-jre -y
Java debe estar instalado ahora, puede comprobarlo y verificarlo invocando este comando:
$ sudo java -version
Paso 4. Descarga e instala Hadoop
Al momento de escribir este artículo, la última versión estable de Hadoop es la versión 3.3.2. Puede ir a su página de descarga en https://hadoop.apache.org/releases.html para verificar la versión más reciente, si corresponde.
Iniciemos sesión como usuario 'hadoop' para descargarlo y extraerlo, por lo que no necesitamos cambiar el archivo y el permiso del directorio.
$ su - hadoop $ wget https://dlcdn.apache.org/hadoop/common/hadoop-3.2.3/hadoop-3.2.3.tar.gz -O hadoop-3.2.3.tar.gz $ tar -xzvf hadoop-3.2.3.tar.gz -C /opt/hadoop --strip-components=1
Antes de continuar con los siguientes pasos, asegúrese de que JAVA_HOME está apuntando al directorio correcto, puede verificar esto enumerando /usr/lib/jvm
$ ls /var/lib/jvm
Ahora, editemos /opt/hadoop/.bashrc
$ nano /opt/hadoop/.bashrc
Inserte las siguientes líneas en el archivo.
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 export HADOOP_HOME=/opt/hadoop export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbin export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
Guarde el archivo y salga, luego ejecute el siguiente comando para activar las variables de entorno recién agregadas.
$ source ~/.bashrc
Paso 5. Configurar Hadoop
Hadoop se puede configurar para ejecutarse en un solo nodo o en un clúster de varios nodos. En este tutorial, le mostraremos cómo configurar el clúster de un solo nodo o el modo pseudodistribuido de Hadoop. Hay algunos archivos que debemos modificar en este paso, ahora editemos primero el archivo de entorno de Hadoop.
$ nano /opt/hadoop/etc/hadoop/hadoop-env.sh
Agregue la siguiente línea al archivo.
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
Edite el archivo core-site.xml.
$ nano /opt/hadoop/etc/hadoop/core-site.xml
Agregue estas líneas a la etiqueta de configuración.
<property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property>
Edite el archivo hdfs-site.xml
$ nano /opt/hadoop/etc/hadoop/hdfs-site.xml
Agregue estas líneas a la etiqueta de configuración.
<property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/opt/hadoop/hadoop_tmp/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/opt/hadoop/hadoop_tmp/hdfs/datanode</value> </property>
Guarde el archivo presionando CTRL + O y salga con CTRL + X
Edite el archivo yarn-site.xml
$ nano /opt/hadoop/etc/hadoop/yarn-site.xml
Agregue estas líneas a la etiqueta de configuración.
<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property>
El último archivo a modificar es mapred-site.xml.
$ nano /opt/hadoop/etc/hadoop/mapred-site.xml
Agregue estas líneas a la etiqueta de configuración.
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
No olvide guardar el archivo y luego salir del editor nano.
Los archivos anteriores han sido modificados, necesitamos crear algunos directorios, ejecute este comando:
$ mkdir -p /opt/hadoop/hadoop_tmp/hdfs/{namenode,datanode}
Antes de iniciar los servicios de Hadoop por primera vez, debemos formatear el nodo de nombre.
$ hdfs namenode -format
Nodo de nombre de inicio y nodo de datos
$ start-dfs.sh
Si ve este mensaje de advertencia:
Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Significa que el sistema operativo de su servidor es de 64 bits, pero la biblioteca nativa de Hadoop es de 32 bits. Esto es de esperar y puede ignorar la advertencia. Si no se siente cómodo con él, puede descargar el archivo fuente de Hadoop y luego compilarlo para obtener la biblioteca compartida de 64 bits.
Ahora comencemos con los administradores de recursos y nodos de YARN.
$ start-yarn.sh
El último, ejecuta este comando:
$ jps
Obtendrá una salida como esta:
106129 SecondaryNameNode 108050 Jps 105877 NameNode 106375 ResourceManager 105960 DataNode 106458 NodeManager
Ahora. puede ir a http://YOUR_SERVER_IP_ADDRESS:9870/ y ver el nodo de nombre, el nodo de datos, etc.
Para consultar el portal web de YARN, puede navegar a http://YOUR_SERVER_IP_ADDRESS:8088/
Eso es todo. Ha instalado y configurado con éxito Hadoop en Debian 11 VPS.
Por supuesto, no tiene que instalar Hadoop en Debian 11 si tiene un servidor Debian administrado con nosotros. Simplemente puede pedirle a nuestro equipo de soporte que instale Hadoop en Debian 11 por usted. Están disponibles las 24 horas del día, los 7 días de la semana y podrán ayudarlo con la instalación.
PD. Si disfrutó leyendo esta publicación de blog sobre cómo instalar Hadoop en Debian 11, siéntase libre de compartirla en las redes sociales utilizando los accesos directos a continuación, o simplemente deje un comentario en la sección de comentarios. Gracias.