Administración de recursos con Apache YuniKorn™ para Apache Spark™ en AWS EKS en Pinterest
La plataforma de procesamiento por lotes de Pinterest, Monarch, fue diseñada inicialmente para respaldar el creciente número de cargas de trabajo de Apache Spark y MapReduce a gran escala. Sin embargo, la empresa decidió migrar de Apache Hadoop a una plataforma de próxima generación basada en Kubernetes (K8s) llamada Moka. Los principales problemas que debían abordarse eran la aislamiento de aplicaciones con contenedores, el soporte de GPU, el esfuerzo de actualización de Hadoop y el soporte de la comunidad de Hadoop. Para resolver estos desafíos, Pinterest decidió utilizar Apache YuniKorn, que admite colas jerárquicas y puede programar en función de cada aplicación y usuario. La empresa también contribuyó con varias características y correcciones al proyecto Apache YuniKorn, incluyendo el soporte para maxApplications, la prevención de la preemción y la corrección de un error al verificar el espacio disponible. Pinterest sigue trabajando con la comunidad para enriquecer la funcionalidad y mejorar la confiabilidad y eficiencia de Apache YuniKorn. La empresa también está trabajando en una consola de administración de recursos completa y diseñando un servicio con estado que aprovecha el soporte de transmisión de eventos.