Conociendo Hadoop (Yarn) Part I

El nombre «hadoop» viene de un juguete.

Integratek México

Twitter: @PeQuitze

Hadoop es una de las herramientas con más futuro para el análisis de datos, vale la pena conocer más a fondo como es que funciona esta herramienta y cuáles son sus partes más importantes para que funcione correctamente.

Vamos a crear una serie de artículos para ir conociendo esta arquitectura y familiarizarnos más con la herramienta.

Tomada de :https://hackr.io/blog/hadoop-architecture

En la imagen podemos ver que hadoop se encuentra en 3 capas importantes:

  • HDFS (Hadoop Distributed File System)
  • Yarn
  • MapReduce

Existe una capa más arriba de estas 3 que se llama *Hadoop common vale la pena conocerla como parte esencial de hadoop.

Una característica más es la topologiá la cual es maestro-esclavo. Esto quiere decir que tenemos un cerebro dando tareas y administrando recursos a muchos esclavos, siendo los esclavos los que realizan el procesamiento de datos.

Necesario tener java instalado en las maquinas

Esta es la topoligia "master-slave"
Esta es la topología «master-slave»

Namenode (Nodo Maestro):

  • Administra los bloques de DataNodes
  • Acceso al archivo al usuario
  • Registra estado de vida de los nodos
  • Administra errores de los DataNodes

DataNode (Nodo Esclavo):

  • Almacena datos en formato ext3 o ext4
  • Realiza las operaciones de los archivos
  • Sigue instrucciones de NameNode

Hadoop Common

Hadoop Common es considerado la base de hadoop puesto que tiene las utilidades comunes y librerías que utilizan las demás capas, contiene los archivos jars y los scrips necesarios para empezar hadoop. Contiene código fuente , documentación y paquetes comunes.

YARN (Yet Another Resource Negotiator)

Negociador de recursos, esta es la idea clave de YARN. El principio básico es separar la administración de recursos y la planificación/supervisión de tareas en deaemons separados.

Dentro de YARN tenemos dos daemons ResourceManger y NodeManager. ResourceManager arbitra recursos entre todas las aplicaciones competidoras del sistema. El NodeManager supervisa los recursos (CPU,memoria,disco,red) usados por los contenedores y los reporta al ResourceManager.

El ApplicationMaster por aplicación es, en efecto, una biblioteca específica de marco y tiene la tarea de negociar recursos del ResourceManager y trabajar con los NodeManager para ejecutar y monitorear las tareas.

Las siguientes capas las encontraremos en la parte 2 y 3 de esta serie de artículos.

Integratek México
Data Specialist

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.