Recursos dinámicos
Descripción
Yarn proporciona gestión de recursos distribuidos para un clúster de big data. Se puede configurar el volumen total de recursos asignados a Yarn. A continuación, Yarn asigna y programa los recursos informáticos para las colas de trabajos. Yarn asigna y programa los recursos informáticos de las colas de trabajos de MapReduce, Spark, Flink y Hive.
Las colas de Yarn son unidades fundamentales de los recursos informáticos de programación.
Los recursos obtenidos por los tenants que usan colas de Yarn son recursos dinámicos. Los usuarios pueden crear y modificar dinámicamente las cuotas de cola y ver el estado y las estadísticas de las colas.
Grupos de recursos
Hoy en día, los sistemas de IT empresariales a menudo se enfrentan a entornos de clústeres complejos y diversos requisitos de capa superior. Por ejemplo:
- Clúster heterogéneo: La velocidad informática, la capacidad de almacenamiento y el rendimiento de la red de cada nodo del clúster son diferentes. Todas las tareas de las aplicaciones complejas deben asignarse correctamente a cada nodo informático del clúster en función de los requisitos de servicio.
- Aislamiento informático: Los datos deben compartirse entre varios departamentos, pero los recursos informáticos deben distribuirse en diferentes nodos informáticos.
Estos requieren que los nodos de cómputo sean particionados adicionalmente.
Los grupos de recursos se utilizan para especificar la configuración de los recursos dinámicos. Las colas de Yarn están asociadas con grupos de recursos para la asignación y programación de recursos.
Un tenant solo puede tener un grupo de recursos predeterminado. Los usuarios pueden estar vinculados al rol de un tenant para usar los recursos en el grupo de recursos del tenant. Para utilizar recursos en varios grupos de recursos, un usuario puede estar enlazado a roles de varios tenant.
Mecanismo de programación
Los recursos dinámicos de Yarn admiten la programación basada en etiquetas. Esta política crea etiquetas para nodos de proceso (Yarn NodeManagers) y agrega los nodos de proceso con la misma etiqueta al mismo grupo de recursos. A continuación, Yarn asocia dinámicamente las colas con grupos de recursos en función de los requisitos de recursos de las colas.
Por ejemplo, un clúster tiene más de 40 nodos que están etiquetados por Normal, HighCPU, HighMEM o HighIO en función de sus configuraciones de hardware y red y agregados en cuatro grupos de recursos, respectivamente. Tabla 1 describe el rendimiento de cada nodo en el grupo de recursos.
Etiqueta |
Cantidad de nodos |
Configuración de hardware y red |
Agregado a |
Asociado con |
---|---|---|---|---|
Normal |
10 |
General |
Grupo de recursos A |
Cola común |
HighCPU |
10 |
CPU de alto rendimiento |
Grupo de recursos B |
Cola de computación intensiva |
HighMEM |
10 |
Memoria de gran capacidad |
Grupo de recursos C |
Cola con uso intensivo de memoria |
HighIO |
10 |
Red de alto rendimiento |
Grupo de recursos D |
Cola intensiva de E/S |
Una cola puede utilizar solo los nodos de proceso en su grupo de recursos asociado.
- Una cola común está asociada con el grupo de recursos A y utiliza nodos Normal con configuraciones generales de hardware y red.
- Una cola informática intensiva está asociada con el grupo de recursos B y utiliza nodos HighCPU con CPU de alto rendimiento.
- Una cola que consume mucha memoria está asociada con el grupo de recursos C y utiliza nodos HighMEM con gran memoria.
- Una cola de E/S intensiva está asociada con el grupo de recursos C y utiliza nodos HighIO con red de alto rendimiento.
Las colas de Yarn se asocian con grupos de recursos especificados para utilizar de manera eficiente los recursos en grupos de recursos y maximizar el rendimiento de los nodos.
FusionInsight Manager admite un máximo de 50 grupos de recursos. El sistema tiene un grupo de recursos predeterminado.
Programadores
By default, the Superior scheduler is enabled for the cluster.
- El programador Superior es una versión mejorada y lleva el nombre del Lake Superior, lo que indica que el programador puede gestionar una gran cantidad de datos.
Para cumplir con los requisitos de la empresa y hacer frente a los desafíos de programación que enfrenta la comunidad Yarn, el programador Superior hace las siguientes mejoras:
- Política mejorada de uso compartido de recursos
El programador Superior admite la jerarquía de colas. Integra las funciones de programadores de código abierto y comparte recursos basados en políticas configurables. En términos de instancias, los administradores pueden usar el programador Superior para configurar un valor absoluto o una política de porcentaje para los recursos de cola. La política de uso compartido de recursos del programador Superior mejora la programación basada en etiquetas de Yarn como una característica de grupo de recursos. Los nodos del clúster de Yarn se pueden agrupar en función de la capacidad o el tipo de servicio para garantizar que las colas puedan utilizar los recursos de manera más eficiente.
- Política de reserva de recursos basada en tenant
Algunos tenants pueden ejecutar tareas críticas en algún momento, y sus necesidades de recursos deben abordarse preferentemente. El programador Superior construye un mecanismo para soportar la política de reserva de recursos. Los recursos reservados se pueden asignar a las tareas críticas que se ejecutan en las colas de tenant especificadas de manera oportuna para garantizar la correcta ejecución de la tarea.
- Compartición justa entre tenants y usuarios de grupo de recurso
El programador Superior permite configurar recursos compartidos para los usuarios en una cola. Cada tenant puede tener usuarios con diferentes ponderaciones. Los usuarios muy ponderados pueden requerir más recursos compartidos.
- Rendimiento de programación garantizado en un gran clúster
El programador Superior recibe los latidos de cada NodeManager y guarda la información de recursos en la memoria, lo que permite al programador controlar el uso de recursos del clúster globalmente. El programador Superior utiliza el modelo de programación push, lo que hace que la programación sea más precisa y eficiente y mejora notablemente la utilización de los recursos del clúster. Además, el programador Superior ofrece un excelente rendimiento cuando el intervalo entre los latidos NodeManager es largo y evita las tormentas de latidos en grupos grandes.
- Política de prioridad
Si no se puede cumplir el requisito mínimo de recursos de un servicio después de que el servicio obtenga todos los recursos disponibles, se produce una preferencia. La función de preferencia está deshabilitada por defecto.