Cómo instalar y configurar Hadoop en Ubuntu 20.04

Cómo instalar y configurar Hadoop en Ubuntu 20.04

Hadoop es un marco de software gratuito, de código abierto y basado en Java utilizado para el almacenamiento y procesamiento de grandes conjuntos de datos en grupos de máquinas. Utiliza HDFS para almacenar sus datos y procesar estos datos utilizando MapReduce. Es un ecosistema de herramientas de big data que se utilizan principalmente para la minería de datos y el aprendizaje automático.

Apache Hadoop 3.3 viene con mejoras notables y muchas correcciones de errores sobre las versiones anteriores. Tiene cuatro componentes principales, como Hadoop Common, HDFS, Yarn y MapReduce.

Este tutorial le explicará cómo instalar y configurar Apache Hadoop en Ubuntu 20.04 Sistema LTS Linux.

Paso 1 - Instalación de Java

Hadoop está escrito en Java y solo admite Java versión 8. Hadoop versión 3.3 y el último también admite el tiempo de ejecución de Java 11, así como Java 8.

Puede instalar OpenJDK 11 desde los repositorios APT predeterminados:

Actualización de sudo apto  sudo apt install OpenJDK-11-JDK 

Una vez instalado, verifique la versión instalada de Java con el siguiente comando:

Java -versión  

Debe obtener la siguiente salida:

OpenJDK versión "11.0.11 "2021-04-20 OpenJDK Runtime Environment (Build 11.0.11+9-Ubuntu-0ubuntu2.20.04) OpenJDK VM de 64 bits (compilación 11.0.11+9-Ubuntu-0ubuntu2.20.04, modo mixto, compartir) 

Paso 2: crea un usuario de Hadoop

Es una buena idea crear un usuario separado para ejecutar Hadoop por razones de seguridad.

Ejecute el siguiente comando para crear un nuevo usuario con el nombre Hadoop:

Adduser de sudo Hadoop  

Proporcionar y confirmar la nueva contraseña como se muestra a continuación:

Agregar el usuario 'Hadoop' ... Agregar nuevo grupo 'Hadoop' (1002) ... Agregar nuevo usuario 'Hadoop' (1002) con el grupo 'Hadoop' ... Creación de directorio de inicio '/home/hadoop' ... Copiar archivos de '/etc/skel' … Nueva contraseña: Recupere la nueva contraseña: PASSWD: Contraseña actualizada Cambio correctamente de la información del usuario para Hadoop Ingrese el nuevo valor, o presione Entrar para el nombre completo predeterminado []: Número de habitación []: Teléfono de trabajo []: Teléfono de la casa []: Otro []: ¿la información es correcta? [Y/n] y 

Paso 3 - Configurar la autenticación basada en la tecla SSH

A continuación, deberá configurar la autenticación SSH sin contraseña para el sistema local.

Primero, cambie al usuario a Hadoop con el siguiente comando:

Su - Hadoop  

A continuación, ejecute el siguiente comando para generar pares de claves públicas y privadas:

ssh -keygen -t RSA  

Se le pedirá que ingrese el nombre de archivo. Simplemente presione Entrar para completar el proceso:

Generación de pares de claves RSA públicas/privadas. Ingrese el archivo en el que guardar la clave (/home/hadoop/.ssh/id_rsa): directorio creado '/home/hadoop/.ssh '. Ingrese la frase de pases (vacío sin frase de pases): ingrese la misma frase de pases nuevamente: su identificación se ha guardado en/home/hadoop/.SSH/ID_RSA Su clave pública se ha guardado en/home/hadoop/.ssh/id_rsa.PUB La huella digital clave es: Sha256: QSA2SYEISWP0HD+UXXXI0J9MSORJKDGIBKFBM3EJYIK [ELECTRÓNICO Protegido] La imagen Randomart de la clave es:+--- [RSA 3072]--+| ... o ++ =.+ | |… Oo++.O | |. oo. B . | | o ... + o * . | | = ++ o o o s | |.++O+ O | |.+.+ + . o | | . O * o . | | mi + . | +---- [SHA256]-----+ 

A continuación, agregue las claves públicas generadas de ID_RSA.Pub a autorizado_keys y establecer el permiso adecuado:

gato ~/.ssh/id_rsa.Pub >> ~/.ssh/autorized_keys  Chmod 640 ~/.ssh/autorized_keys  

A continuación, verifique la autenticación SSH sin contraseña con el siguiente comando:

ssh localhost  

Se le pedirá que autentique hosts agregando claves RSA a los hosts conocidos. Escriba sí y presione Enter para autenticar el LocalHost:

La autenticidad del host 'localhost (127.0.0.1) 'No se puede establecer. La huella digital de la tecla ECDSA es SHA256: JFQDVBM3ZTPHUPGD5OMJ4CLVIH6TZIRZ2GD3BDNQGMQ. ¿Estás seguro de que quieres continuar conectando (sí/no/[huella digital])? Sí 

Paso 4 - Instalación de Hadoop

Primero, cambie al usuario a Hadoop con el siguiente comando:

Su - Hadoop  

A continuación, descargue la última versión de Hadoop usando el comando wget:

wget https: // descargas.apache.org/Hadoop/Common/Hadoop-3.3.0/Hadoop-3.3.0.alquitrán.GZ  

Una vez descargado, extraiga el archivo descargado:

tar -xvzf hadoop -3.3.0.alquitrán.GZ  

A continuación, cambie el nombre del directorio extraído a Hadoop:

MV Hadoop-3.3.0 Hadoop  

A continuación, deberá configurar las variables de entorno Hadoop y Java en su sistema.

Abre el ~/.bashrc Archivo en su editor de texto favorito:

nano ~/.bashrc  

Agregar las líneas a continuación a la presentación. Puedes encontrar la ubicación de Java_Home ejecutando dirname $ (dirname $ (readlink -f $ (que java))) comando en la terminal.

Exportar java_home =/usr/lib/jvm/java-11-openjdk-amd64 exportar hadoop_home =/home/hadoop/hadoop exportoop_install = $ hadoop_home exportoop_mapred_home = $ hadoop_home exportoop_comommon_home = hadoop_home export_hdefs_home = $ hadoop_home Hadoop_home exportoop_common_lib_native_dir = $ hadoop_home/lib/native export rath = $ ruta: $ hadoop_home/sbin: $ hadoop_home/bin exportoop_opts = "-djava.biblioteca.ruta = $ hadoop_home/lib/nativo " 

Guarde y cierre el archivo. Luego, active las variables de entorno con el siguiente comando:

fuente ~/.bashrc  

A continuación, abra el archivo variable de entorno Hadoop:

nano $ hadoop_home/etc/hadoop/hadoop-envv.mierda  

Nuevamente configurado el Java_Home en el entorno Hadoop.

Exportar java_home =/usr/lib/jvm/java-11-openjdk-amd64 

Guarde y cierre el archivo cuando haya terminado.

Paso 5 - Configuración de Hadoop

Primero, deberá crear los directorios NameNode y DataNode dentro del Directorio de inicio de Hadoop:

Ejecute el siguiente comando para crear ambos directorios:

mkdir -p ~/hadoopdata/hdfs/namenode  mkdir -p ~/hadoopdata/hdfs/datanode  

A continuación, edite el sitio de núcleo.xml Archivo y actualización con el nombre de host de su sistema:

nano $ hadoop_home/etc/hadoop/nore-site.xml  

Cambie el siguiente nombre según su nombre de host del sistema:

FS.defaultfs hdfs: // hadoop.tecadmin.com: 9000
123456 FS.defaultfs hdfs: // hadoop.tecadmin.com: 9000

Guarde y cierre el archivo. Entonces, edite el sitio HDFS.xml archivo:

nano $ hadoop_home/etc/hadoop/hdfs-site.xml  

Cambie la ruta del directorio NameNode y DataNode como se muestra a continuación:

DFS.Replicación 1 DFS.nombre.Archivo Dir: /// home/hadoop/hadoopdata/hdfs/nameNode DFS.datos.archivo dir: /// home/hadoop/hadoopdata/hdfs/datanode
1234567891011121314151617 DFS.Replicación 1 DFS.nombre.Archivo Dir: /// home/hadoop/hadoopdata/hdfs/nameNode DFS.datos.archivo dir: /// home/hadoop/hadoopdata/hdfs/datanode

Guarde y cierre el archivo. Entonces, edite el sitio de mapred.xml archivo:

nano $ hadoop_home/etc/hadoop/mapred-site.xml  

Hacer los siguientes cambios:

Mapa reducido.estructura.hilo de nombre
123456 Mapa reducido.estructura.hilo de nombre

Guarde y cierre el archivo. Entonces, edite el hilo.xml archivo:

nano $ hadoop_home/etc/hadoop/hilo-sitio.xml  

Hacer los siguientes cambios:

hilo.nodo.Aux-Services MapReduce_Shuffle
123456 hilo.nodo.Aux-Services MapReduce_Shuffle

Guarde y cierre el archivo cuando haya terminado.

Paso 6 - Inicie Hadoop Cluster

Antes de comenzar el clúster de Hadoop. Deberá formatear el NameNode como usuario de Hadoop.

Ejecute el siguiente comando para formatear el hadoop namenode:

HDFS namenode -Format  

Debe obtener la siguiente salida:

2020-11-23 10: 31: 51,318 Información Namenode.NnstorageretentionManager: va a retener 1 imágenes con txid> = 0 2020-11-23 10: 31: 51,323 información Namenode.FSIMAGE: FSIMAGSAVER Clean CheckPoint: TXID = 0 Cuando se encuentra con el cierre. 2020-11-23 10: 31: 51,323 Información Namenode.Namenode: shutdown_msg: /******************************************** ***************** SHUCEDOWN_MSG: apagar NameNode en Hadoop.tecadmin.net/127.0.1.1 ****************************************************** ***********/ 

Después de formatear el NameNode, ejecute el siguiente comando para iniciar el clúster Hadoop:

inicio-DFS.mierda  

Una vez que el HDFS comenzó con éxito, debe obtener el siguiente resultado:

Comenzando Nanodes en [Hadoop.tecadmin.com] Hadoop.tecadmin.com: Advertencia: agregado permanentemente 'Hadoop.tecadmin.com, Fe80 :: 200: 2DFF: Fe3a: 26CA%eth0 '(ECDSA) a la lista de anfitriones conocidos. Iniciar Datanodes iniciando NameNodes secundarios [Hadoop.tecadmin.com] 

A continuación, inicie el servicio de hilo como se muestra a continuación:

start-yarn.mierda  

Debe obtener la siguiente salida:

Iniciar ResourceManager inicial Nodemanagers 

Ahora puede verificar el estado de todos los servicios de Hadoop utilizando el comando JPS:

JPS  

Debería ver todos los servicios en ejecución en la siguiente salida:

18194 Namenode 18822 Nodemanager 17911 Secondarynamenode 17720 Datanode 18669 ResourceManager 19151 JPS 

Paso 7 - Ajuste el firewall

Hadoop ahora está comenzando y escuchando en los puertos 9870 y 8088. A continuación, deberá permitir estos puertos a través del firewall.

Ejecute el siguiente comando para permitir conexiones Hadoop a través del firewall:

FireWall-CMD --Permanent --Add-Port = 9870/TCP  Firewall-CMD --Permanent --Add-Port = 8088/TCP  

A continuación, vuelva a cargar el servicio Firewalld para aplicar los cambios:

Firewall-CMD-Re-Reload  

Paso 8 - Acceso a Hadoop Namenode y Administrador de recursos

Para acceder al NameNode, abra su navegador web y visite la URL http: // su servidor-ip: 9870. Deberías ver la siguiente pantalla:

http: // hadoop.tecadmin.NET: 9870

Para acceder a la administración de recursos, abra su navegador web y visite la URL http: // Your-Server-IP: 8088. Deberías ver la siguiente pantalla:

http: // hadoop.tecadmin.Neta: 8088

Paso 9 - Verifique el clúster Hadoop

En este punto, el clúster Hadoop está instalado y configurado. A continuación, crearemos algunos directorios en el sistema de archivos HDFS para probar el Hadoop.

Creemos algunos directorios en el sistema de archivos HDFS utilizando el siguiente comando:

HDFS DFS -MKDIR /Test1 HDFS DFS -MKDIR /Logs  

A continuación, ejecute el siguiente comando para enumerar el directorio anterior:

HDFS DFS -LS /  

Debe obtener la siguiente salida:

Encontrado 3 elementos DRWXR-XR-X-Hadoop SuperGroup 0 2020-11-23 10:56 /Logs DRWXR-XR-X-Hadoop SuperGroup 0 2020-11-23 10:51 /Test1 

Además, coloque algunos archivos en el sistema de archivos Hadoop. Para el ejemplo, colocar archivos de registro de la máquina host al sistema de archivos Hadoop.

HDFS DFS -put/var/log/*/logs/  

También puede verificar los archivos y directorio de arriba en la interfaz web Hadoop Namenode.

Vaya a la interfaz web NameNode, haga clic en Utilities => Explorar el sistema de archivos. Debería ver sus directorios que ha creado anteriormente en la siguiente pantalla:

http: // hadoop.tecadmin.NET: 9870/Explorer.html

Paso 10 - Stop Hadoop Cluster

También puede detener el servicio Hadoop Namenode and Yarn en cualquier momento ejecutando el parada.mierda y parada.mierda Script como usuario de Hadoop.

Para detener el servicio Hadoop Namenode, ejecute el siguiente comando como usuario de Hadoop:

parada.mierda  

Para detener el servicio Hadoop Resource Manager, ejecute el siguiente comando:

parada.mierda  

Conclusión

Este tutorial le explicó un tutorial paso a paso para instalar y configurar Hadoop en Ubuntu 20.04 Sistema Linux.