¿Qué es Apache Myriad? Una breve introducción

Última actualización: 04/10/2020

En esta entrada, voy a realizar una breve introducción a Apache Myriad. Como committer de este proyecto Apache, me gustaría compartir esta herramienta y sus posibilidades.

Qué es Apache Myriad

Apache Myriad es un proyecto open source que nació en el año 2015 con el propósito de compartir una misma infraestructura para ejecutar cargas de Apache Mesos y de Apache Hadoop.

De esta forma, Apache Myriad pretende ejecutar uno o varios clústeres de Apache Hadoop YARN (el planificador y gestor de recursos de Hadoop) sobre un clúster de Apache Mesos. Con esta solución, es posible compartir los recursos gestionados por Mesos de una forma dinámica, tener varios clústeres independientes de Yarn y con capacidad de crecer o decrecer basándose en la demanda existente.

El proyecto se encuentra en este momento en la incubadora de la Apache Software Foundation, una fase previa que cada proyecto debe superar para convertirse en un proyecto con plena entidad dentro de la fundación o Top Level Project.

Aspectos clave de Apache Myriad

  • Permite ejecutar YARN Resource Manager (RM) y Node Managers (NM) en contenedores de Mesos.
  • Asignación estática de recursos.
  • Alta disponibilidad.
  • Soporte para Yarn FairScheduler.
  • Despliegue con Marathon.
  • Permite ejecutar MapReduce v2, Hive, Pig, etc.

En el roadmap de Apache Myriad se encuentra las siguientes funcionalidades:

  • Asignación dinámica de recursos en base la carga del clúster de Apache Hadoop Yarn.
  • Despliegue de varios clústeres de Yarn aislados y de forma simultánea.
  • Posibilidad de ejecutar distintas versiones de Yarn.
  • Interfaz de usuario multi-cluster.

Los componentes de Apache Myriad, al igual que comenté en la guía de iniciación a frameworks para Apache Mesos consisten en un Driver, un Scheduler y uno o varios Executors. En este caso, el Driver se encarga de levantar la interfaz de usuario, la API y otros servicios necesarios para Myriad. El Scheduler es el encargado de gestionar las ofertas de recursos y lanzar las tareas necesarias sobre los contenedores en los agentes de Mesos.

En esencia, Apache Myriad sólamente debe gestionar dos tipos de ejecutores, que coinciden con los componentes de Yarn: Resource Manager y Node Manager. Para cada clúster de Yarn es necesario un Resource Manager activo y al menos un Node Manager sobre el que planificar trabajos y ejecutar cargas Big Data.

Diagrama de nodo ejecutando un node manager de YARN como una tarea en un agente de Mesos

Al estar ejecutando sobre recursos dinámicos, Myriad debe gestionar el estado de los componentes de Yarn y ofrecer una visión unificada para que el usuario pueda agregar recursos al planificador (a través del despliegue de más Node Managers) o bien reducir estos recursos.

Apache Myriad es ideal para desplegar entornos Yarn fácilmente y tras operar en ellos, liberar los recursos sin complicación.

En artículos posteriores desarrollaré con más profundidad esta tecnología, así como su despliegue y su configuración.


A continuación el vídeo-resumen. ¡No te lo pierdas!


¡Echa un ojo a mi lista de reproducción de Big Data en Youtube!

Si te ayuda el contenido del blog, por favor considera unirte a la lista de correo para reconocer el trabajo!

Deja una respuesta