ūüźė [ HADOOP ] ūüéď - ¬ŅQU√Č es HADOOP? ‚úć ¬ŅC√ďMO INSTALAR HADOOP en UBUNTU 18.04? ‚≠ź

Enviado por admin el Jue, 08/04/2021 - 19:34

ūüźė [ HADOOP ] ūüéď - ¬ŅQU√Č es HADOOP? ‚úć ¬ŅC√ďMO INSTALAR HADOOP en UBUNTU 18.04? ‚≠ź

Hola a todos! y bienvenidos de nuevo a este Blog. Hoy veremos que es Hadoop y como instalarlo en una m√°quina Ubuntu 18.04.

¬ŅQu√© es Hadoop?

Apache Hadoop es un framework de código abierto desarrollado para trabajar con grandes cantidades de datos. Para ello, comparte partes de los datos en muchos nodos diferentes, replicando gran parte de los datos para tener redundancia. Este software y su modelo informático hacen que el manejo de grandes cantidades de datos sea más rápido que con las supercomputadoras tradicionales. El framework de Apache Hadoop logra esto a través del almacenamiento distribuido y el procesamiento en paralelo en diferentes nodos. 

El software asume una alta posibilidad de fallos del hardware y evita problemas potenciales replicando datos en varios nodos y en diferentes cl√ļsteres. Cuando Hadoop detecta una fallo, normalmente duplica la informaci√≥n dos veces en los nodos del cl√ļster local y una vez en un nodo en una ubicaci√≥n de cl√ļster diferente.

Hadoop

¬ŅC√≥mo funciona Hadoop?

Ahora analicemos en detalle cómo funciona Hadoop:

  • HDFS (hadoop distributed file system): es el sistema de archivos distribuido de Hadoop, tiene una topolog√≠a maestro-esclavo con dos daemons en ejecuci√≥n, NameNode y DataNode.

 

  • Name Node: es el daemons que se ejecuta en la m√°quina maestra. Es la pieza central de un sistema de archivos HDFS. Almacena el √°rbol de directorios de todos los archivos en el sistema de archivos. Realiza un seguimiento del lugar del cl√ļster donde residen los datos del archivo. ojo, No almacena los datos contenidos en estos archivos. Cuando las aplicaciones cliente desean agregar / copiar / mover o eliminar un archivo, interact√ļan con Name Node. Este responde a la solicitud del cliente devolviendo una lista de servidores Data Node relevantes, donde residen los datos.

 

  • Data Node: es el daemons que se ejecuta en los nodos esclavos. Almacena datos en HDFS.¬†En el sistema de archivos funcional, los datos se replican en muchos DataNodes.

La versi√≥n 2 de Hadoop implementa YARN entre HDFS y Map Reduce. y la versi√≥n 3 implementa m√ļltiples Name Nodes, resolviendo posibles problemas de fallos de un solo punto.


Historia de Hadoop

La historia del nacimiento de hadoop se remonta al a√Īo 2006. Inspir√°ndose en el algoritmo MapReduce de Google, que divide una aplicaci√≥n en peque√Īas fracciones para ejecutarla en diferentes nodos, se cre√≥ una plataforma llamada Hadoop 1.0 con el objetivo de respaldar la distribuci√≥n del motor de b√ļsqueda Nutch.

Hadoop se puso a disposici√≥n del p√ļblico en noviembre de 2012 a trav√©s de la Apache Software Foundation. Esta tecnolog√≠a, que lleva el nombre de un elefante de peluche amarillo del hijo de uno de sus creadores, se ha revisado continuamente desde su lanzamiento. Como parte de su revisi√≥n, la Apache Software Foundation lanz√≥ su segunda versi√≥n, Hadoop 2 el 20 de febrero de 2014, con algunos cambios importantes en la arquitectura. As√≠ mismo el 13 de diciembre de 2017 se lanz√≥ la versi√≥n 3.0, de la cual hablaremos en este v√≠deo.¬†


Ventajas de Hadoop

Hadoop es fácil de usar, escalable y rentable a nivel de hardware. Además de esto, tiene muchas más ventajas. Aquí comentamos las 12 principales.

  • Acepta diferentes fuentes de datos: hadoop acepta una gran variedad de datos. Los datos pueden provenir de fuentes de datos estructuradas o no estructuradas, archivo de texto, archivo XML, im√°genes, archivos CSV, etc.
  • Es muy rentable a nivel hardware: Hadoop es una soluci√≥n econ√≥mica, ya que utiliza un grupo de hardware b√°sico para almacenar datos. El hardware b√°sico es una m√°quina barata, por lo que el costo de agregar nodos al framewaork no es muy alto. En Hadoop 3.0 tenemos solo el 50% de la sobrecarga de almacenamiento en comparaci√≥n con el 200% en la versi√≥n 2 de hadoop. Esto requiere menos m√°quina para almacenar datos ya que los datos redundantes disminuyeron significativamente.
  • Trabaja en alto rendimiento: Hadoop, con su procesamiento distribuido y su arquitectura de almacenamiento distribuido (HDFS), procesa grandes cantidades de datos a alta velocidad. Divide el archivo de datos de entrada en varios bloques y almacena los datos de estos bloques en varios nodos. Tambi√©n divide la tarea que env√≠a el usuario en varias subtareas que se asignan a estos nodos de trabajo que contienen los datos requeridos para que estas subtareas se ejecutan en paralelo, mejorando as√≠ el rendimiento.
  • Es tolerante a fallos: En Hadoop 3.0, la tolerancia a fallos se proporciona mediante la codificaci√≥n de borrado. Por ejemplo, 6 bloques de datos producen 3 bloques de paridad utilizando la t√©cnica de codificaci√≥n de borrado, por lo que HDFS almacena un total de estos 9 bloques. En caso de fallo de cualquier nodo, el bloque de datos afectado se puede recuperar utilizando estos bloques de paridad y los bloques de datos restantes.
  • Dispone de alta disponibilidad: En Hadoop 2, la arquitectura HDFS tiene un solo Name Node activo y un solo Name Node en espera, por lo que si un Name Node falla, se utilizar√≠a el otro. Pero Hadoop 3.0 admite m√ļltiples Name Node en espera, lo que hace que el sistema tenga mayor disponibilidad, ya que puede continuar funcionando en caso de que dos o m√°s Name Nodes se bloqueen.
  • Tiene un tr√°fico de red muy bajo: En Hadoop, cada trabajo enviado por el usuario se divide en una serie de subtareas independientes siendo estas subtareas asignadas a los Data Nodes, moviendo as√≠ una peque√Īa cantidad de datos en lugar de mover grandes cantidades al c√≥digo, lo que lleva a un bajo tr√°fico de red.
  • Dispone de alto rendimiento: Hadoop almacena datos de forma distribuida (en varias m√°quinas distintas), lo que permite utilizar el procesamiento distribuido con facilidad. Un trabajo determinado se divide en peque√Īos jobs que trabajan en paralelo, lo que proporciona un alto rendimiento.
  • Es una herramienta de c√≥digo abierto: Hadoop es una tecnolog√≠a de c√≥digo abierto, es decir, su c√≥digo fuente est√° disponible gratuitamente. Pudiendo incluso modificar el c√≥digo fuente para adaptarlo a un requisito espec√≠fico.
  • Es escalable:¬†Hadoop funciona seg√ļn el principio de escalabilidad horizontal, es decir, no necesitamos agregar toda la m√°quina al grupo de nodos y no cambiar la configuraci√≥n de una m√°quina como agregar RAM, disco, etc., lo que se conoce como escalabilidad vertical. Se pueden agregar nodos al cl√ļster de Hadoop sobre la marcha, lo que lo convierte en un marco escalable.
  • Hadoop es muy f√°cil de usar: el framework de Hadoop se encarga del procesamiento paralelo, los programadores no necesitan preocuparse por lograr el procesamiento distribuido, se realiza en el backend autom√°ticamente.
  • Es altamente compatible: la mayor parte de las tecnolog√≠as emergentes de Big Data son compatibles con Hadoop como Apache Spark, Apache Flink, etc (si no conoceis estas dos herramientas os dejo aqu√≠ arriba a la derecha un enlace a ellas).¬†
  • Es multiidioma: los desarrolladores pueden codificar usando muchos lenguajes en Hadoop como C, C ++, Perl, Python y Ruby.

Inconvenientes de Hadoop

Al igual que me gusta comentar las ventajas, también es recomendable que os comente aquellas desventajas que tiene Hadoop. 

  • Puede dar problemas con archivos peque√Īos: Hadoop se recomienda para utiliza con archivos grandes, pero cuando se trata de la aplicaci√≥n que se ocupa de una gran cantidad de archivos peque√Īos, Hadoop puede dar problemas. Un archivo peque√Īo no es m√°s que un archivo que es significativamente m√°s peque√Īo que el tama√Īo de bloque de Hadoop, que puede ser de 128 MB o 256 MB de forma predeterminada. Esta gran cantidad de archivos peque√Īos sobrecargan el Name Node, ya que almacena el espacio de nombres para el sistema y dificulta el funcionamiento de Hadoop.
  • Vulnerable por naturaleza: Hadoop est√° escrito en Java, que es un lenguaje de programaci√≥n ampliamente utilizado, por lo que los ciberdelincuentes lo explotan f√°cilmente, lo que hace que Hadoop sea vulnerable a las brechas de seguridad.
  • La operaci√≥n de escritura/lectura es costosa: En Hadoop, los datos se leen del disco y se escriben en el disco, lo que hace que las operaciones de lectura / escritura sean muy costosas cuando se trata de tera y petabytes de datos. Hadoop no puede hacer c√°lculos en la memoria, por lo que incurre en una sobrecarga de procesamiento.
  • Admite solo el procesamiento por lotes: en esencia, Hadoop tiene un motor de procesamiento por lotes que no es eficiente en el procesamiento de secuencias. No puede producir resultados en tiempo real con baja latencia. Solo funciona con datos que recopilamos y almacenamos en un archivo antes de procesarlos.
  • Procesamiento iterativo: hadoop no puede realizar un procesamiento iterativo por s√≠ mismo. El aprendizaje autom√°tico o el procesamiento iterativo tiene un flujo de datos c√≠clico, mientras que Hadoop tiene datos que fluyen en una cadena de etapas donde la salida en una etapa se convierte en la entrada de otra etapa.
  • Seguridad: por seguridad, Hadoop utiliza la autenticaci√≥n Kerberos, que es dif√≠cil de administrar. Falta cifrado en los niveles de almacenamiento y red, que son un punto de gran preocupaci√≥n.

¬ŅQu√© comprende la arquitectura / ecosistema de datos de Hadoop?

La arquitectura de Hadoop se puede dividir en dos ramas, es decir, componentes centrales de Hadoop y componentes complementarios / de otro tipo.

Hay cuatro componentes b√°sicos o centrales:

  • Hadoop Common: es un conjunto de utilidades y bibliotecas comunes que manejan otros m√≥dulos de Hadoop. Se asegura de que el cl√ļster de Hadoop gestione autom√°ticamente las fallas de hardware.
  • HDFS: es un sistema de archivos distribuido de Hadoop que almacena datos en forma de peque√Īos bloques de memoria y los distribuye por todo el cl√ļster. Cada dato se replica varias veces para garantizar la disponibilidad de los datos.
  • Hadoop YARN: asigna recursos que a su vez permiten a diferentes usuarios ejecutar varias aplicaciones sin preocuparse por el aumento de las cargas de trabajo.
  • Hadoop Map Reduce: Ejecuta tareas de forma paralela distribuyendo los datos como peque√Īos bloques.

Tipos de instalación de Hadoop

Hay varias formas de ejecutar Hadoop. Siendo 4 los escenarios en los que se puede descargar, instalar y ejecutar Hadoop.

Modo autónomo

Aunque Hadoop es una plataforma distribuida para trabajar con Big Data, incluso se puede instalar Hadoop en un solo nodo en una sola instancia independiente. De esta forma, toda la plataforma Hadoop funciona como un sistema que se ejecuta en Java. Es √ļtil si deseas verificar tus aplicaciones Map Reduce en un solo nodo antes de ejecutarlas en un gran cl√ļster de Hadoop.

Modo completamente distribuido

Este es un modo distribuido que tiene varios nodos conectados para formar el cl√ļster de Hadoop. En tal configuraci√≥n, Name Node, Job Tracker y Secondary Name Node funcionan en el nodo maestro, mientras que Data Node y Secondary Data Node funcionan en el nodo esclavo. El otro conjunto de nodos, Data Node y Task Tracker, funcionan en el nodo esclavo.

Modo pseudodistribuido

Este, es un sistema Java de un solo nodo que ejecuta todo el cl√ļster de Hadoop. ¬†Name Node, Data Node, Task Tracker y Job Tracker se ejecutan en la √ļnica instancia de la m√°quina Java para formar el cl√ļster Hadoop distribuido.

Ecosistema Hadoop

Hay varios componentes dentro del ecosistema de Hadoop, como Apache Hive, Pig, Sqoop y ZooKeeper. Varias tareas de cada uno de estos componentes son diferentes. Hive es un dialecto SQL que se utiliza principalmente para el resumen, la consulta y el análisis de datos. Pig es un lenguaje de flujo de datos que se utiliza para la abstracción con el fin de simplificar las tareas de Map Reduce para aquellos que no saben codificar en Java para escribir aplicaciones Map Reduce.

¬ŅPor qu√© deber√≠amos usar Apache Hadoop?

Con la evoluci√≥n de los macrodatos en todo el mundo, la demanda de desarrolladores de Hadoop est√° aumentando a un ritmo r√°pido. Los desarrolladores de Hadoop bien versados ‚Äč‚Äčcon el conocimiento de la implementaci√≥n pr√°ctica son muy necesarios para agregar valor al proceso existente. Sin embargo, adem√°s de muchas otras razones, las siguientes son las principales razones para utilizar esta tecnolog√≠a:

  • Uso extensivo de Big Data: cada vez m√°s empresas se est√°n dando cuenta de que para hacer frente a la explosi√≥n de datos, tendr√°n que implementar una tecnolog√≠a que pueda asumir esos datos en s√≠ misma y obtener algo significativo y valioso. Hadoop ciertamente ha abordado esta preocupaci√≥n y las empresas tienden a adoptar esta tecnolog√≠a. Adem√°s, una encuesta realizada por Tableau informa que entre 2.200 clientes, alrededor del 76 por ciento de ellos que ya est√°n usando Hadoop desean usarlo de formas m√°s nuevas.
  • Los clientes esperan seguridad: hoy en d√≠a, la seguridad se ha convertido en uno de los principales aspectos de la infraestructura de TI. Por lo tanto, las empresas est√°n invirtiendo mucho en los elementos de seguridad m√°s que en nada. Apache Sentry, por ejemplo, habilita la autorizaci√≥n basada en roles para los datos almacenados en el cl√ļster de Big Data.
  • Las √ļltimas tecnolog√≠as se hacen cargo: la tendencia de Big Data va en aumento a medida que los usuarios exigen mayor velocidad y, por lo tanto, rechazan los almacenes de datos de la vieja escuela. Al darse cuenta de la preocupaci√≥n de sus clientes, Hadoop est√° integrando activamente las √ļltimas tecnolog√≠as como Cloudera Impala, AtScale, Actian Vector, Jethro, etc. en su infraestructura b√°sica.

Algunas de las empresas que han implementado esta infraestructura de código abierto, Hadoop:

  • Sitios web de redes sociales: Facebook, Twitter, LinkedIn, etc.
  • Portales en l√≠nea: Yahoo, AOL, etc.
  • Comercio electr√≥nico: eBay, Alibaba, etc.
  • Desarrollador de TI: Cloudspace

Conclusiones

Hadoop y el paradigma de programaci√≥n Map Reduce ya tienen una base sustancial en la comunidad bioinform√°tica, especialmente en el campo del an√°lisis de secuenciaci√≥n de pr√≥xima generaci√≥n, y dicho uso est√° aumentando. Esto se debe a la rentabilidad del an√°lisis basado en Hadoop en cl√ļsteres b√°sicos de Linux y en la nube a trav√©s de la carga de datos a los proveedores de la nube que han implementado Hadoop / HBase; y debido a la efectividad y facilidad de uso del m√©todo Map Reduce en la paralelizaci√≥n de muchos algoritmos de an√°lisis de datos.

Como instalar Hadoop versión 3 

El framework de Hadoop está escrito en Java y sus servicios requieren un Java Runtime Environment (JRE) y un Java Development Kit (JDK) compatibles. Utilizaremos el siguiente comando para actualizar el sistema antes de iniciar una nueva instalación

Todos los comandos que ejecute os los dejaré en la caja de descripción del vídeo, para que podáis acceder fácilmente a ellos.

> sudo apt update

hasta el momento, la versión 3 de hadoop es totalmente compatible con Java 8. El paquete OpenJDK 8 en Ubuntu contiene tanto el entorno de ejecución como el kit de desarrollo.

> sudo apt install openjdk-8-jdk -y

La versi√≥n OpenJDK u Oracle Java puede afectar a la forma en que interact√ļan los elementos de un ecosistema Hadoop.¬†
Una vez que se complete el proceso de instalación, verificaremos la versión actual de Java:

> java -version; javac -version

Configuraremos un usuario no root para el entorno Hadoop.

Es recomendable crear un usuario no root, espec√≠ficamente para el entorno Hadoop. ya que un usuario distinto mejora la seguridad y nos ayuda a administrar nuestro cl√ļster de manera m√°s eficiente. Para garantizar el buen funcionamiento de los servicios de Hadoop, el usuario debe tener la capacidad de establecer una conexi√≥n SSH sin contrase√Īa con el host local.

Instalaremos OpenSSH en Ubuntu con el siguiente comando 

> sudo apt install openssh-server openssh-client -y

Utilizaremos el comando adduser para crear el nuevo usuario

> sudo adduser hdoop

En este ejemplo el usuario será hdoop, pero podrás poner el nombre que quieras. Eso sí tienes que tener en cuenta esto para modificar los ficheros de configuración posteriormente, ya que en este ejemplo están hechos para este usuario.

> su - hdoop

El usuario ahora necesita poder hacer SSH al localhost sin que se le solicite una contrase√Īa.

para habilitar SSH sin contrase√Īa para usuarios de Hadoop tendremos que generar un par de claves SSH y definir la ubicaci√≥n en la que se almacenar√°

> ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

Usaremos el comando cat para guardar la clave p√ļblica en authorized_keys del directorio ssh

> cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Le daremos al directorio los permisos correspondientes

> chmod 0600 ~/.ssh/authorized_keys

El nuevo usuario ahora puede usar SSH sin necesidad de ingresar una contrase√Īa cada vez. verificaremos ¬†que todo est√© configurado correctamente utilizando el usuario de hdoop para realizar el SSH a localhost

> ssh localhost

Después del mensaje inicial, el usuario de Hadoop ahora puede establecer una conexión SSH con el host local sin problemas.

descargaremos e instalaremos Hadoop en Ubuntu de la p√°gina web oficial.

utilizaremos el comando  wget para realizar la descarga en el directorio deseado. 

> wget https://downloads.apache.org/hadoop/common/hadoop-3.2.1/hadoop-3.2.1.tar.gz

Una vez que se complete la descarga, extraeremos los archivos para iniciar la instalación de Hadoop

> tar xzf hadoop-3.2.1.tar.gz

Los archivos binarios de Hadoop ahora se encuentran dentro del directorio hadoop-3.2.1.

Realizaremos la implementaci√≥n de Hadoop en un √ļnico nodo, que puede ser tu ordenador en local, o en nuestro caso una m√°quina en la nube.

Esta configuraci√≥n, tambi√©n denominada modo pseudodistribuido, permite que cada daemon de Hadoop se ejecute como un √ļnico proceso Java. El entorno Hadoop se configura editando un conjunto de archivos de configuraci√≥n


Para configurar variables de entorno de Hadoop editaremos el archivo de configuración de shell .bashrc utilizando un editor de texto (en nuestro ejemplo será nano)

> sudo nano .bashrc

#Hadoop Related Options
export HADOOP_HOME=/home/hdoop/hadoop-3.2.1
export HADOOP_INSTALL=$HADOOP_HOME
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 PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_OPTS"-Djava.library.path=$HADOOP_HOME/lib/nativ"

Para que los cambios se actualicen ejecutaremos el siguiente comando.

> source ~/.bashrc

El archivo hadoop-env.sh sirve como archivo maestro para configurar los ajustes de proyectos relacionados con YARN, HDFS, Map Reduce y Hadoop.

Al configurar un cl√ļster de Hadoop de un solo nodo, deberemos definir qu√© implementaci√≥n de Java se utilizar√°. Utilizaremos la variable $HADOOP_HOME creada anteriormente para acceder al archivo hadoop-env.sh

> sudo nano $HADOOP_HOME/etc/hadoop/hadoop-env.sh

Descomentaremos la variable $JAVA_HOME (es decir, eliminaremos el signo #) y agregaremos la ruta completa a la instalación de OpenJDK en nuestro sistema. Si has instalado la misma versión que se presentó en la primera parte de este tutorial, agrega la siguiente línea:

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

Si necesitas ayuda para localizar la ruta de Java correcta, ejecute el siguiente comando en la ventana de su terminal

> which javac

Utilice la ruta proporcionada para encontrar el directorio OpenJDK con el siguiente comando:

> readlink -f /usr/bin/javac

La sección de la ruta justo antes del directorio / bin / javac debe asignarse a la variable $ JAVA_HOME.

El archivo core-site.xml define las propiedades principales de HDFS y Hadoop.

Para configurar Hadoop en un modo pseudodistribuido, deberemos especificar la URL de nuestro Name Node y el directorio temporal que usa Hadoop para el mapa y el proceso de reducción.

Abriremos el archivo core-site.xml en un editor de texto.

> nano $HADOOP_HOME/etc/hadoop/core-site.xml

Agregaremos la siguiente configuración para anular los valores predeterminados para el directorio temporal y la URL HDFS para reemplazar la configuración predeterminada del sistema de archivos en local

<configuration>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hdoop/tmpdata</value>
  </property>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://127.0.0.1:9000</value>
  </property>
</configuration>

Este ejemplo utiliza valores específicos del sistema local. Deberemos utilizar valores que coincidan con los requisitos del sistema. Los datos deben ser coherentes durante todo el proceso de configuración.

No olvides crear un directorio de Linux en la ubicación que se especificó para los datos temporales.


Las propiedades del archivo hdfs-site.xml gobiernan la ubicación para almacenar los metadatos del nodo, el archivo fsimage y el archivo de registro de edición. Configure el archivo definiendo los directorios de almacenamiento Name Node y Data Node.

Además, el valor predeterminado de dfs.replication de 3 debe cambiarse a 1 para que coincida con la configuración de un solo nodo.

Utilice el siguiente comando para abrir el archivo hdfs-site.xml y editarlo:

> nano $HADOOP_HOME/etc/hadoop/hdfs-site.xml

Agregaremos la siguiente configuración al archivo y, si es necesario, ajustaremos los directorios Name Node y Data Node a las ubicaciones personalizadas

<configuration>
  <property>
    <name>dfs.data.dir</name>
    <value>/home/hdoop/dfsdata/namenode</value>
  </property>
  <property>
    <name>dfs.data.dir</name>
    <value>/home/hdoop/dfsdata/datanode</value>
  </property>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

Si es necesario, deberás crear los directorios específicos que se definieron para el valor dfs.data.dir

Utilice el siguiente comando para acceder al archivo mapred-site.xml y definir los valores de Map Reduce

> nano $HADOOP_HOME/etc/hadoop/mapred-site.xml

Agregue la siguiente configuración para cambiar el valor predeterminado del nombre del marco Map Reduce a yarn

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

El archivo yarn-site.xml se utiliza para definir configuraciones relevantes para YARN. Contiene configuraciones para el administrador de nodos, el administrador de recursos, los contenedores y el maestro de aplicaciones.

Abra el archivo yarn-site.xml en un editor de texto

> nano $HADOOP_HOME/etc/hadoop/yarn-site.xml

Agregue la siguiente configuración al archivo

<configuration>
  <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>
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>127.0.0.1</value>
  </property>
  <property>
    <name>yarn.acl.enable</name>
    <value>0</value>
  </property>
  <property>
    <name>yarn.nodemanager.env-whitelist</name>   
    <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PERPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
  </property>
</configuration>

Es importante formatear el Name Node antes de iniciar los servicios de Hadoop por primera vez:

> hdfs namenode -format

La notificación de apagado significa el final del proceso de formato de Name Node.

Para iniciar hadoop Navegaremos al directorio hadoop-3.2.1/sbin y ejecutaremos los siguientes comandos para iniciar Name Node y Data Node

> ./start-dfs.sh

El sistema tarda unos momentos en iniciar los nodos necesarios.

Una vez que el Name Node, el Date Node y el Name Node secundario estén en funcionamiento, iniciaremos el recurso YARN y los administradores de nodos escribiendo:

> ./start-yarn.sh

Escriba el siguiente comando para comprobar si todos los daemons est√°n activos y ejecut√°ndose como procesos Java

> jps

Si todo funciona seg√ļn lo previsto, la lista resultante de procesos Java en ejecuci√≥n contiene todos los demonios HDFS y YARN.


Utilizaremos nuestro navegador preferido para navegar hasta la direcci√≥n URL o IP de su host local, o en nuestro caso, ip p√ļblica de la m√°quina donde lo hemos instalado. El n√ļmero de puerto predeterminado 9870 nos da acceso a la IU de Name Node de Hadoop:

http://localhost:9870


La interfaz de usuario de Name Node proporciona una descripci√≥n general completa de todo el cl√ļster.

El puerto predeterminado 9864 se utiliza para acceder a Data Nodes individuales directamente desde su navegador

http://localhost:9864

Se puede acceder al Administrador de recursos de YARN en el puerto 8088

http://localhost:8088


Resource Manager es una herramienta invaluable que le permite monitorear todos los procesos en ejecuci√≥n en su cl√ļster de Hadoop.

Conclusión
Hemos instalado correctamente Hadoop en Ubuntu y lo hemos implementado en un modo pseudodistribuido. Una implementaci√≥n de Hadoop de un solo nodo es un excelente punto de partida para explorar los comandos HDFS b√°sicos y adquirir la experiencia que necesita para dise√Īar un cl√ļster de Hadoop completamente distribuido.