Administración de clústeres

En este artículo se explica cómo administrar los clústeres de Azure Databricks, incluida la visualización, la edición, el inicio, la terminación, la eliminación, el control del acceso y la supervisión del rendimiento y los registros.

Visualización de clústeres

Para ver los clústeres en el área de trabajo, haga clic en el compute iconProcesoen la barra lateral.

En el lado izquierdo hay dos columnas que indican si el clúster se ha anclado y el estado del clúster. Mantenga el puntero sobre el estado para obtener más información.

Anclaje de un clúster

30 días después de finalizar un clúster, se elimina permanentemente. Para mantener la configuración de un clúster de uso general, incluso después de que haya finalizado, durante 30 días, el administrador puede anclar el clúster. Se pueden anclar hasta 100 clústeres.

Los administradores pueden anclar un clúster desde la lista de clústeres o desde la página de detalles del clúster al hacer clic en el icono de anclaje.

También puede invocar la API de clústeres del punto de conexión de API para anclar un clúster mediante programación.

Visualización de una configuración de clúster como archivo JSON

En ocasiones puede resultar útil ver la configuración del clúster como JSON. Resulta especialmente útil cuando quiere crear clústeres similares con API de clústeres. Cuando vea un clúster existente, simplemente vaya a la pestaña Configuración, haga clic en JSON en la parte superior derecha de la pestaña, cópielo el JSON y péguelo en la llamada API. La vista JSON es de solo lectura.

Edición de un clúster

Puede editar la configuración de un clúster desde la interfaz de usuario de detalles del clúster. También puede invocar el punto de conexión de API de clústeres para editar el clúster mediante programación.

Nota:

  • Los cuadernos y los trabajos adjuntos al clúster permanecen de este modo después de la edición.
  • Las bibliotecas instaladas en el clúster permanecen de este modo después de la edición.
  • Si edita un atributo de un clúster en ejecución (a excepción del tamaño y los permisos del clúster), debe reiniciarlo. Esto puede perturbar a los usuarios que están usando en este momento el clúster.
  • Solo se pueden editar los clústeres en ejecución o finalizados. Sin embargo, puede actualizar los permisos para los clústeres que no están en esos estados en la página de detalles del clúster.

Clonación de un clúster

Para clonar un clúster existente, seleccione Clonar en el menú Kebab menu del clúster (también conocido como menú de tres puntos).

Después de seleccionar clonar, la interfaz de usuario de creación de clúster se abre con la configuración del clúster. Los siguientes atributos no se incluyen en el clon:

  • Permisos del clúster
  • Bibliotecas instaladas
  • Cuadernos adjuntos

Control del acceso a los clústeres

El control de acceso a los clústeres en la página Configuración del administrador permite a los administradores del área de trabajo dar acceso a los clústeres a otros usuarios. Existen dos tipos de control de acceso a los clústeres:

  • Permiso para crear clústeres: los administradores del área de trabajo pueden elegir qué usuarios pueden crear clústeres.
  • Permisos a nivel de clúster: Un usuario que tenga el permiso Puede administrar para un clúster puede configurar si otros usuarios pueden adjuntar, reiniciar, redimensionar y administrar ese clúster.

Para editar los permisos de un clúster, seleccione Editar permisos en el menú Kebab menu del clúster.

Para más información sobre el control de acceso al clúster y los permisos a nivel de clúster, consulte Control de acceso al clúster.

Finalización de un clúster

Puede terminar un clúster para ahorrar recursos del clúster. La configuración del clúster finalizado se almacena para que se pueda reutilizar (o, en el caso de los trabajos, autostarted) en otro momento. Puede terminar un clúster manualmente o configurar el clúster para que termine automáticamente tras un período de inactividad especificado. Cuando el número de clústeres finalizados supera los 150, se eliminan los clústeres más antiguos.

A menos que un clúster sea anclado o reiniciado, se elimina automática y permanentemente 30 días después de su finalización.

Los clústeres finalizados aparecen en la lista de clústeres con un círculo gris a la izquierda del nombre del clúster.

Nota:

Cuando se ejecuta un trabajo en un nuevo clúster de trabajo, como suele recomendarse, el clúster termina y está disponible para reiniciarse cuando se completa el trabajo. Por otro lado, si se programa un trabajo para que se ejecute en un clúster de uso general existente que se ha finalizado, ese clúster se iniciará automáticamente.

Importante

Si se usa un área de trabajo de prueba Premium, se finalizan todos los clústeres en ejecución:

  • Al actualizar un área de trabajo a la versión Premium completa.
  • Si el área de trabajo no se ha actualizado y la versión de prueba expira.

Finalización manual

Puede cancelar manualmente un clúster desde la lista de clústeres (haciendo clic en el cuadrado de la fila del clúster) o desde la página de detalles del clúster (haciendo clic en Cancelar).

Terminación automática

También puede establecer la terminación automática de un clúster. Al crear el clúster, puede especificar un período de inactividad en minutos después del cual desea que el clúster finalice.

Si la diferencia entre la hora actual y la última ejecución del comando en el clúster es superior al período de inactividad especificado, Azure Databricks lo finaliza automáticamente.

Un clúster se considera inactivo cuando todos los comandos del clúster, incluidos los trabajos de Spark, los flujos estructurados y las llamadas JDBC, han terminado de ejecutarse.

Advertencia

  • Los clústeres no informan sobre la actividad resultante del uso de DStreams. Esto significa que un clúster de terminación automática puede terminarse mientras se ejecuta DStreams. Desactive la terminación automática para los clústeres que ejecutan DStreams o considere la posibilidad de usar Structured Streaming.
  • La característica de terminación automática supervisa solo los trabajos de Spark, no los procesos locales definidos por el usuario. Por lo tanto, si se han completado todos los trabajos de Spark, es posible que un clúster se finalice incluso si se ejecutan procesos locales.
  • Los clústeres inactivos siguen acumulando cargos de instancia de nube y de unidad de Databricks (DBU).

Configuración de la terminación automática

Puede configurar la terminación automática en la interfaz de usuario de creación de clústeres. Asegúrese de que la casilla está marcada e ingrese un número de minutos en el ajuste Terminar tras minutos de inactividad.

Puede cancelar la terminación automática al desactivar la casilla de terminación automática o al especificar un período de inactividad de 0.

Nota:

La terminación automática se admite mejor en las versiones más recientes de Spark. Las versiones anteriores de Spark tienen limitaciones reconocidas que pueden dar lugar a informes inexactos de la actividad del clúster. Por ejemplo, los clústeres que ejecutan comandos JDBC, R o de flujos pueden notificar un tiempo de actividad obsoleto, lo que da lugar a la terminación prematura del clúster. Actualice a la versión más reciente de Spark para disfrutar de las ventajas de las correcciones de errores y las mejoras en la terminación automática.

Finalización inesperada

A veces, un clúster finaliza de forma inesperada, no como resultado de una terminación manual ni de una configurada para hacerlo automáticamente.

Para obtener una lista de los motivos de finalización y los pasos para solucionarlo, consulte Knowledge Base.

Eliminar un clúster

Si se elimina un clúster, se termina y se borra su configuración. Para eliminar un clúster, seleccione Eliminar del menú Kebab menu del clúster.

Advertencia

No es posible deshacer esta acción.

Para eliminar un grupo anclado, primero un administrador debe desanclarlo.

También puede invocar la API de clústeres del punto de conexión para eliminar un clúster mediante programación.

Reinicio de un clúster

Puede reiniciar un clúster previamente finalizado desde la lista de clústeres, la página de detalles del clúster o un cuaderno. También puede invocar la API de clústeres del punto de conexión para iniciar un clúster mediante programación.

Azure Databricks identifica un clúster mediante su ID de clúster único. Cuando se inicia un clúster finalizado, Databricks vuelve a crear el clúster con el mismo ID, instala automáticamente todas las bibliotecas y vuelve a conectar los cuadernos.

Nota:

Si usa un Área de trabajo de prueba y la prueba ha expirado, no podrá iniciar un clúster.

Reinicie un clúster para actualizarlo con las imágenes más recientes

Cuando se reinicia un clúster, este obtiene las imágenes más recientes de los contenedores de recursos de proceso y los hosts de VM. Es especialmente importante programar reinicios regulares para los clústeres de larga duración, como los que se usan para procesar datos en flujo.

Debe encargarse de reiniciar todos los recursos de proceso periódicamente para mantener actualizada la imagen con la versión más reciente.

Importante

Si activa el perfil de seguridad de cumplimiento para su cuenta o su espacio de trabajo, los clústeres de larga ejecución se reinician automáticamente después de 25 días. Databricks recomienda que los administradores del área de trabajo reinicien los clústeres manualmente durante una ventana de mantenimiento programado. Esto reduce el riesgo de que un reinicio automático interrumpa un trabajo programado.

Ejemplo de cuaderno: búsqueda de clústeres de ejecución prolongada

Si es un administrador del área de trabajo, puede ejecutar un script que determine cuánto tiempo se ha estado ejecutando cada uno de los clústeres y, opcionalmente, reiniciarlos si su antigüedad supera un número especificado de días. Azure Databricks proporciona este script en forma de cuaderno.

Las primeras líneas del script definen los siguientes parámetros de configuración:

  • min_age_output: el número máximo de días que puede ejecutarse un clúster. El valor predeterminado es 1.
  • perform_restart: si el valor de este parámetro es True, el script reinicia los clústeres cuya antigüedad supere el número de días que se especificaron en min_age_output. El valor predeterminado es False, que identifica los clústeres de larga duración, pero no los reinicia.
  • secret_configuration: reemplace los valores REPLACE_WITH_SCOPE y REPLACE_WITH_KEY por un ámbito de secreto y un nombre de clave. Para obtener más información sobre cómo configurar los secretos, consulte el cuaderno.

Advertencia

Si establece el valor del parámetro perform_restart en True, el script reiniciará automáticamente los clústeres aptos. Esto puede provocar errores en los trabajos activos y restablecer los cuadernos que estén abiertos. Para reducir el riesgo de experimentar interrupciones de los trabajos críticos para la empresa que se ejecutan en el área de trabajo, planee una ventana de mantenimiento programada y asegúrese de que se lo notifica a los usuarios del área de trabajo.

Cuaderno de identificación y reinicio opcional de clústeres de larga duración

Obtener el cuaderno

Inicio automático del clúster para trabajos y consultas JDBC/ODBC

Cuando se programa la ejecución de un trabajo asignado a un clúster finalizado, o se conecta a un clúster finalizado desde una interfaz JDBC/ODBC, el clúster se reinicia automáticamente. Consulte Creación de un trabajo y conexión de JDBC.

Con el inicio automático de los clústeres, puede configurarlos para que finalicen automáticamente sin necesidad de intervención manual para reiniciar los clústeres para los trabajos programados. Además, puede programar la inicialización del clúster al programar un trabajo para que se ejecute en un clúster finalizado.

Antes de que clúster se reinicie automáticamente, se comprueban los permisos de control de acceso del clúster y el trabajo.

Nota:

Si el clúster se creó en la versión 2.70 de la plataforma de Azure Databricks o en otra versión anterior, no existe el inicio automático: se producirá error si los trabajos están programados para ejecutarse en clústeres finalizados.

Consulta de la información del clúster en la interfaz de usuario de Apache Spark

Puede ver información detallada sobre los trabajos de Spark, seleccione la pestaña Interfaz de usuario de Spark en la página de detalles del clúster.

Si reinicia un clúster finalizado, la interfaz de usuario de Spark muestra información del clúster que se reinició, no la información histórica del clúster finalizado.

Consulta de los registros de clúster

Azure Databricks proporciona tres tipos de registros sobre la actividad relacionada con el clúster:

  • Registros de eventos del clúster, que capturan eventos del ciclo de vida del clúster como la creación, la finalización y las ediciones de configuración.
  • Registro de controladores y trabajadores de Apache Spark, que puede utilizar para depurar.
  • Registros de scripts de inicio del clúster, que resultan útiles para depurar scripts de inicio.

En esta sección se explica los registros de eventos del clúster y los registros de trabajo y de controlador. Para obtener más información sobre los registros de scripts de inicio, consulte Registro de scripts de inicio.

Registros de eventos de clúster

El registro de eventos del clúster muestra los eventos importantes del ciclo de vida del clúster que se desencadenan manualmente por acciones del usuario o de forma automática por Azure Databricks. Estos eventos afectan al funcionamiento de un clúster como un todo y a los trabajos que se ejecutan en el clúster.

Para ver los tipos de eventos compatibles, consulte la estructura de datos API de clústeres.

Los eventos se almacenan durante 60 días, que es comparable a otras duraciones de retención de datos en Azure Databricks.

Visualización de un registro de eventos de clúster

Para ver el registro de eventos del clúster, seleccione la pestaña Registro de eventos en la página de detalles del clúster.

Para más información sobre un evento, haga clic en su fila en el registro y, a continuación, haga clic en la pestaña JSON para obtener más detalles.

Registros del controlador del clúster y de los trabajadores

Las instrucciones de registro e impresión directas de los cuadernos, los trabajos y las bibliotecas se guardan en los registros del controlador de Spark. Puede acceder a estos archivos de registro desde la pestaña Registros del controlador de la página de detalles del clúster. Haga clic en un archivo de registro para descargarlo.

Estos registros tienen tres salidas:

  • Salida estándar
  • Error estándar
  • Registros log4j

Para ver los registros de los trabajadores de Spark, puede utilizar la pestaña Interfaz de usuario de Spark. También puede configurar una ubicación de entrega de registros para el clúster. Los registros de trabajo y de clúster se entregan en la ubicación que se especifique.

Supervisión del rendimiento

Para ayudarle a supervisar el rendimiento de los clústeres de Azure Databricks, Azure Databricks proporciona acceso a las métricas desde la página de detalles del clúster. Para Databricks Runtime 12.2 e inferiores, Azure Databricks proporciona acceso a las métricas Ganglia. Para Databricks Runtime 13.0 y superior, Azure Databricks proporciona las métricas del clúster.

Además, puede configurar un clúster de Azure Databricks para enviar métricas a un área de trabajo de Log Analytics en Azure Monitor, la plataforma de supervisión de Azure.

También puede instalar agentes Datadog en nodos de clúster para enviar métricas Datadog a su cuenta Datadog.

Métricas del clúster

Las métricas de clúster es la herramienta de supervisión predeterminada para Databricks Runtime 13.0 y superior. Para acceder a la interfaz de usuario de métricas de clúster, vaya a la pestaña Métricas de la página de detalles del clúster.

Puede ver las métricas históricas seleccionando un intervalo de tiempo mediante el filtro de selección de fecha. Las métricas se recopilan cada minuto. También puede obtener las últimas métricas haciendo clic en el botón Actualizar. Para más información, consulte Ver métricas de clúster en tiempo real e históricas.

Métricas de Ganglia

Nota:

Las métricas de Ganglia solo están disponibles para Databricks Runtime 12.2 y versiones inferiores.

Para acceder a la interfaz de usuario de Ganglia, vaya a la pestaña Métricas en la página de detalles del clúster. Las métricas de CPU están disponibles en la interfaz de usuario de Ganglia para todos los entornos de ejecución de Databricks. Las métricas de GPU están disponibles para los clústeres habilitados para GPU.

Para ver las métricas en directo, haga clic en el vínculo de la interfaz de usuario de Ganglia.

Para ver las métricas históricas, haga clic en un archivo de instantánea. La instantánea contiene métricas agregadas de la hora anterior a la hora seleccionada.

Nota:

Ganglia no es compatible con contenedores Docker. Si usa un contenedor Docker con su clúster, las métricas de Ganglia no estarán disponibles.

Configuración de la recopilación de métricas de Ganglia

De forma predeterminada, Azure Databricks recopila las métricas de Ganglia cada 15 minutos. Para configurar el período de recopilación, establezca la variable de entorno DATABRICKS_GANGLIA_SNAPSHOT_PERIOD_MINUTES con un script de inicialización o en el campo spark_env_vars de Crear nueva API de clústeres.

Azure Monitor

Puede configurar un clúster de Azure Databricks para enviar métricas a un área de trabajo de Log Analytics en Azure Monitor, la plataforma de supervisión de Azure. Para obtener instrucciones completas, consulte Supervisión de Azure Databricks.

Nota:

Si implementó el área de trabajo de Azure Databricks en su propia área de trabajo virtual y configuró los grupo de seguridad de red (NSG) para denegar todo el tráfico de salida que Azure Databricks no necesita, debe configurar una regla de salida adicional para la etiqueta de servicio «AzureMonitor».

Ejemplo de cuaderno: métricas de Datadog

Datadog metrics

Puede instalar agentes de Datadog en nodos de clúster para enviar métricas de Datadog a su cuenta de Datadog. En el siguiente cuaderno se muestra cómo se puede instalar un agente de Datadog en un clúster mediante un script de inicialización con ámbito de clúster.

Para instalar el agente de Datadog en todos los clústeres, administre el script de inicialización con ámbito de clúster mediante una directiva de clúster.

Instalación del cuaderno de script de inicialización del agente de Datadog

Obtener el cuaderno

Retirada de instancias de acceso puntual

Dado que las instancias de acceso puntual pueden reducir costes, la creación de clústeres mediante instancias de acceso puntual y no de instancias a petición es una manera habitual de ejecutar trabajos. Sin embargo, los mecanismos de programación del proveedor de nube pueden dar preferencia a las instancias de acceso puntual. La preferencia por las instancias de acceso puntual puede generar problemas con los trabajos que se ejecutan, entre los que se incluyen:

  • Errores de captura aleatoria
  • Pérdida de datos aleatorios
  • Pérdida de datos RDD
  • Errores de trabajo

Puede habilitar la retirada para solucionar estos problemas. La retirada aprovecha la notificación que normalmente envía el proveedor de nube antes de retirar una instancia de acceso puntual. Cuando una instancia de acceso puntual que contiene un ejecutor recibe una notificación de preferencia, el proceso de retirada intentar migrar los datos aleatorios y RDD a ejecutores en buen estado. La duración antes de la preferencia final suele ser de entre 30 segundos y 2 minutos en función del proveedor de nube.

Databricks recomienda habilitar la migración de datos cuando la retirada también está habilitada. Por lo general, la posibilidad de errores disminuye a medida que se migran más datos, incluidos los errores de captura aleatoria, la pérdida de datos aleatorios y la pérdida de datos RDD. La migración de datos también puede provocar que no se repitan cálculos y que se ahorren costes.

Nota:

La retirada es el mejor esfuerzo y no garantiza que todos los datos se puedan migrar antes de la preferencia final. La retirada no es una garantía frente a los errores de captura aleatoria cuando las tareas en ejecución de flujo capturan datos aleatorios del ejecutor.

Con la retirada habilitada, los errores de tareas causados por la preferencia de la instancia de acceso puntual no se agregan al número total de intentos con error. Los errores de tarea causados por la preferencia no se cuentan como intentos con error debido a que su causa es externa a la tarea y generará un error en el trabajo.

Habilitar el desmantelamiento

Para habilitar el desmantelamiento en un clúster, introduzca las siguientes propiedades en la pestaña Spark en Opciones Avanzadas en la interfaz de usuario de configuración del clúster. Para obtener información sobre estas propiedades, consulte Configuración de Spark.

  • Para habilitar el desmantelamiento de aplicaciones, introduzca esta propiedad en el campo Configurar Spark:

    spark.decommission.enabled true
    
  • Para habilitar la migración aleatoria de datos durante el desmantelamiento, introduzca esta propiedad en el campo Configurar Spark:

    spark.storage.decommission.enabled true
    spark.storage.decommission.shuffleBlocks.enabled true
    
  • Para habilitar la migración de datos de caché RDD durante el desmantelamiento, introduzca esta propiedad en el campo Spark config:

    spark.storage.decommission.enabled true
    spark.storage.decommission.rddBlocks.enabled true
    

    Nota:

    Cuando la réplica de StorageLevel de RDD establecida es superior a 1, Databricks no recomienda habilitar la migración de datos RDD, ya que las réplicas garantizan que los RDD no pierdan datos.

  • Para habilitar el desmantelamiento para los trabajadores, introduzca esta propiedad en el campo Variables de entorno:

    SPARK_WORKER_OPTS="-Dspark.decommission.enabled=true"
    

Ver el estado de desmantelamiento y el motivo de la pérdida en la interfaz de usuario

Para acceder al estado de desmantelamiento de un trabajador desde la interfaz de usuario, vaya a la pestaña Interfaz de usuario del clúster Spark - Maestro.

Cuando finalice el desmantelamiento, puede ver el motivo de pérdida del ejecutor en la pestaña Ejecutores de la interfaz de usuario > de Spark en la página de detalles del clúster.