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

Nota

En este artículo se describe la interfaz de usuario heredada de los clústeres. Para obtener más información sobre la interfaz de usuario de la versión preliminar, incluidos los cambios de terminología para los modos de acceso al clúster, consulte Creación de un clúster. Para ver una comparación entre los tipos de clúster nuevos y los heredados, consulte Cambios en la interfaz de usuario de los clústeres y modos de acceso del clúster.

Para visualizar los clústeres en el área de trabajo, haga clic en el icono del procesoProcesoen la barra lateral.

La página del Proceso muestra los clústeres en dos pestañas: clústeres de uso general yclústeres de trabajo.

Clústeres de uso general

Clústeres de trabajo

En el lado izquierdo hay dos columnas que indican si el clúster se ha anclado y el estado del clúster:

En el extremo derecho de la pestañaClústeres de uso completo hay un icono que puede usar para finalizar el clúster.

Puede utilizar el menú de tres botones menú de tres botonespara reiniciar, clonar, borrar, o editar permisos para el clúster. Las opciones de menú que no están disponibles están atenuadas.

Icono vertical con 3 botones

La pestaña Clústeres de uso general muestra los números de los cuadernosicono de Cuadernos adjuntos, adjuntos al clúster.

Filtro de lista de clústeres

Puede filtrar las listas de clústeres con los botones y el cuadro de búsqueda de la parte superior derecha:

Filtro de clústeres

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 30 días antes, el administrador puede anclar el clúster. Se pueden anclar hasta 100 clústeres.

Puede anclar un clúster desde una lista de clústeres o desde la página de detalles del clúster:

Anclaje de un clúster desde la lista de clústeres

Para anclar o desanclar un clúster, haga clic en el icono de la chincheta situado a la izquierda del nombre del clúster.

Anclaje de un clúster en la lista de clústeres

Anclaje de un clúster desde la página de detalles del clúster

Para anclar o desanclar un clúster, haga clic en el icono de la chincheta situado a la derecha del nombre del clúster.

Anclaje de un clúster en la página de detalles del clúster

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

Vista 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 2.0 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 y péguelo en la llamada API. La vista JSON es de solo lectura.

JSON de la configuración de clúster

Edición de un clúster

Edite una configuración de un clúster desde la página de detalles. Para poder ver la página de detalles del clúster, haga clic en el nombre del clúster en la página Proceso.

Página de detalles del clúster

También puede invocar el punto de conexión de API Editar 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.

Para obtener una información detallada sobre las propiedades que puede editar de la configuración del clúster, consulte Configuración de clústeres.

Clonación de un clúster

Puede crear un clúster nuevo al clonar uno existente.

Desde la lista de clústeres, haga clic en el menú de tres botones menú de tres botonesy seleccione Clonar de la lista desplegable.

Menú Lista de clústeres

De la página de detalles del clúster haga clic en el botón Más y seleccione Clonar de la lista desplegable.

Menú de detalles de un clúster

El formulario de creación del clúster se abre con la configuración del clúster rellenada. Los siguientes atributos del clúster existente 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 consola de administrador permite a los administradores y los usuarios delegados conceder acceso personalizado a otros usuarios. Existen dos tipos de control de acceso a los clústeres:

  • Permiso para crear clústeres: los administradores pueden elegir qué usuarios pueden crear clústeres.

    Permiso de creación de clústeres

  • Permisos de nivel de clúster: un usuario que tenga el permiso Puede administrar para un clúster puede configurar desde las acciones del clúster si otros usuarios pueden adjuntar, reiniciar, cambiar el tamaño y administrar ese clúster.

    En la lista de clústeres, haga clic en el menú kebab del menú Kebab (/_static/images/clusters/cluster-3-buttons.png) y seleccione Editar permisos.

    Menú Lista de clústeres

    De la página de detalles del clúster haga clic en el botón Más y seleccione Permisos.

    Menú de detalles de un clúster

Para obtener información sobre cómo configurar el control de acceso al clúster y los permisos a nivel del clúster, consulte Control de acceso al los clústeres.

Inicio de un clúster

Además de crear un nuevo clúster, también puede iniciar un clúster terminado previamente. Esto le permite volver a crear un clúster terminado previamente con su configuración inicial.

Puede iniciar un clúster desde la lista de clústeres, la página de detalles del clúster o un cuaderno.

  • Para iniciar un clúster desde la lista de clústeres, haga clic en la flecha:

    Inicio de un clúster desde la lista de clústeres

  • Para iniciar un clúster desde la página de detalles del clúster, haga clic en Iniciar:

    Inicio de un clúster desde su página de detalles

  • Para iniciar un clúster desde un cuaderno, haga clic en la lista desplegable Conectar encima del cuaderno. Allí puede seleccionar qué clúster se va a adjuntar al cuaderno.

    Inicio de un clúster desde el menú desplegable Adjuntar cuaderno

También puede invocar el punto de conexión API Inicio para iniciar mediante programación un clúster.

Azure Databricks identifica un clúster con un id. de clúster único. Al iniciar un clúster finalizado, Databricks vuelve a crear el clúster con la misma id., instala automáticamente todas las bibliotecas y vuelve a adjuntar los cuadernos.

Nota

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

Inicio automático de clústeres para trabajos

Cuando se asigna un trabajo a un clúster existente finalizado se programa para ejecutarse o se conecta a un clúster terminado 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.

Finalización de un clúster

Puede terminar un clúster para ahorrar recursos del clúster. Un clúster finalizado no puede ejecutar cuadernos ni trabajos, pero su configuración se almacena para que se pueda reutilizar (o, en el caso de algunos tipos de trabajos iniciarse automáticamente) más adelante. Puede terminar un clúster manualmente o configurar el clúster para que termine automáticamente tras un período de inactividad especificado. Azure Databricks registra la información cada vez que se finaliza un clúster. Cuando el número de clústeres finalizados supera los 150, se eliminan los clústeres más antiguos.

A no ser que se ancle un clúster, se eliminará automática y permanentemente 30 días después de que se termine.

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

Icono de un clúster finalizado

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

Se puede terminar un clúster manualmente desde la lista de clúster o desde la página de detalles del clúster.

  • Para finalizar un clúster de la lista de clústeres, haga clic en el cuadrado:

    Finalización de un clúster en la lista de clústeres

  • Para finalizar un clúster desde la página de detalles del clúster, haga clic en Finalizar:

    Finalización de un clúster en su página de detalles

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

La terminación automática se configura en el campo Terminación automática del cuadro de Opciones de Autopilot en la página de creación del clúster:

Terminación automática

Importante

El valor predeterminado de la terminación automática está configurado dependiendo de si se elige crear un clúster de simultaneidad alta o estándar:

  • Los clústeres estándar están configurados para finalizar automáticamente después de 120 minutos.
  • Los clústeres de alta simultaneidad están configurados para que no finalicen automáticamente.

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.

Eliminación de un clúster

Si se elimina un clúster, se termina y se borra su configuración.

Advertencia

No es posible deshacer esta acción.

No se puede eliminar un clúster anclado. Para eliminar un clúster anclado, un administrador debe desanclarlo.

Desde la lista de clústeres, haga clic en el menú de tres botones menú de tres botonesy seleccione Eliminar de la lista desplegable.

Menú Lista de clústeres

De la página de detalles del clúster haga clic en el botón Más y seleccione Eliminar de la lista desplegable.

Menú de detalles de un clúster

También puede invocar el punto de conexión API Eliminación permanente para eliminarlo mediante programación.

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 que se programen reinicios regulares para los clústeres de larga duración que se usen a menudo para ciertas aplicaciones, entre las que se incluye el procesamiento de los datos de streaming.

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 habilita el perfil de seguridad de cumplimiento para la cuenta o el área de trabajo, los clústeres de larga duración se reiniciarán automáticamente después de 25 días. El equipo de Databricks recomienda que los administradores reinicien los clústeres antes de que estos lleven 25 días ejecutándose y, además, que esto se haga durante una ventana de mantenimiento programado. Esto reduce el riesgo de que un reinicio automático interrumpa un trabajo programado.

Hay varias formas de reiniciar un clúster. Estas se muestran a continuación:

Ejecute un script que determine cuántos días se han estado ejecutando los clústeres y que, opcionalmente, los reinicie

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. Con este valor, el script 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

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 en la interfaz de usuario de Spark, a la que puede acceder desde la pestaña interfaz de usuario de Spark en la página de detalles del clúster.

Interfaz de usuario de Spark

Puede obtener detalles sobre los clústeres activos y finalizados.

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:

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 script de inicialización, consulte registros de script de inicialización.

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 ClusterEventType de la API de REST.

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

  1. Haga clic en Icono ProcesoProceso en la barra lateral.

  2. Haga clic en un nombre de clúster.

  3. Haga clic en la pestaña Registro de eventos.

    Registro de eventos

Para filtrar los eventos, haga clic en el Menú desplegable del campo Filtrar por tipo de evento... y seleccione una o más casillas de tipo de evento.

Use Seleccionar todo para facilitar el filtrado al excluir determinados tipos de eventos.

Filtrado del registro de eventos

Ver detalles de eventos

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

Detalles de un evento

Registros de controlador y de trabajo del clúster

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. Estos registros tienen tres salidas:

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

Puede acceder a estos archivos desde la pestaña Registros de controladores de la página de detalles del clúster. Haga clic en un archivo de registro para descargarlo.

Para ver los registros de trabajo de Spark, puede usar la 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 Ganglia desde la página de detalles 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.

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

Métricas de Ganglia

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.

Métricas de Ganglia

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.

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

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 DATABRICKS_GANGLIA_SNAPSHOT_PERIOD_MINUTESentorno mediante un script de inicializacióno en el spark_env_vars campo de la de API de creación de clúster.

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».

Métricas de Datadog

Métricas de Datadog

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, use un script de inicialización global después de probar el script de inicialización con ámbito 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

Nota

Esta característica está disponible con Databricks Runtime 8.0 y versiones posteriores.

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.

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.

Para habilitar la retirada, establezca las variables de entorno y los valores de configuración de Spark al crear un clúster:

  • Para habilitar la retirada de aplicaciones:

    spark.decommission.enabled true
    
  • Para habilitar la migración aleatoria de datos durante la retirada:

    spark.storage.decommission.enabled true
    spark.storage.decommission.shuffleBlocks.enabled true
    
  • Para habilitar la migración de datos en caché RDD durante la retirada:

    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.

    spark.storage.decommission.enabled true
    spark.storage.decommission.rddBlocks.enabled true
    
  • Para habilitar la retirada de trabajos:

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

Para establecer estas propiedades de configuración personalizadas de Spark:

  1. En la página Nuevo clúster, haga clic en el botón de alternancia Opciones avanzadas.

  2. Haga clic en la pestaña Spark.

    Configuración de un proceso de retirada

Para acceder al estado de retirada de un trabajo desde la interfaz de usuario, vaya a la pestaña Interfaz de usuario de Spark Cluster: maestra :

Proceso de retirada de un trabajo en la UI

Cuando finalice la retirada, el ejecutor que se ha dado de baja muestra el motivo de la pérdida en la pestaña Ejecutores> de la interfaz de usuario de Spark en la página de detalles del clúster:

Proceso de retirada de un ejecutor en la UI

Proceso de retirada de un ejecutor en la escala de tiempo