Eliminación programada de clústeres

Para evitar incurrir en cargos de Google Cloud por un clúster inactivo, usa la función de eliminación programada de clústeres de Dataproc cuando crees un clúster. Esta característica proporciona opciones para borrar un clúster, en los siguientes momentos:

  • después de un período de inactividad del clúster específico
  • en un momento futuro específico
  • después de un período específico que comienza con el envío de la solicitud de creación de clústeres

Cálculo del tiempo inactivo del clúster

La propiedad del clúster dataproc:dataproc.cluster-ttl.consider-yarn-activity afecta el cálculo del tiempo inactivo del clúster de la siguiente manera:

  • Esta propiedad está habilitada (configurada en true) de forma predeterminada.
  • Cuando esta propiedad está habilitada, la actividad de la API de YARN y de Dataproc Jobs debe estar inactiva para iniciar y seguir incrementando el cálculo del tiempo de inactividad del clúster.
    • La actividad de YARN incluye aplicaciones YARN pendientes y en ejecución.
    • La actividad de la API de Dataproc Jobs incluye trabajos pendientes y en ejecución que se enviaron a la API de Dataproc Jobs.
  • Cuando esta propiedad se establece en false, la actividad de la API de trabajos de Dataproc solo debe estar inactiva para iniciar y seguir incrementando el cálculo del tiempo de inactividad del clúster.

Usa la eliminación programada de clústeres

Comando de gcloud

Puedes crear un clúster con la función de eliminación programada del clúster si pasas las siguientes marcas de eliminación programada al comando gcloud dataproc clusters create.

FlagDescripciónMayor nivel de detalleValor mín.Valor máx.
--max-idle1El tiempo que transcurre desde que el clúster entra en estado inactivo hasta que comienza a borrar. Proporciona la duración en formato IntegerUnit, en el que la unidad puede ser “s, m, h, d” (segundos, minutos, horas, días, respectivamente). Ejemplos: “30m” o “1d” (30 minutos o 1 día desde que el clúster entra en estado inactivo).1 segundo5 minutos14 días
--expiration-time2El momento en que se comienza a borrar el clúster en el formato de fecha y hora ISO 8601. Una forma fácil de generar la fecha y hora en el formato correcto es a través de Timestamp Generator. Por ejemplo, “2017-08-22T13:31:48-08:00” indica la hora de vencimiento 13:21:48 en la zona horaria UTC-8:00.1 segundo10 minutos desde la hora actual14 días desde la hora actual
--max-age2El tiempo que transcurre desde que se envía la solicitud de creación de clústeres hasta que este comienza a borrar. Proporciona la duración en formato IntegerUnit, en el que la unidad puede ser “s, m, h, d” (segundos, minutos, horas, días, respectivamente). Ejemplos: “30m” (30 minutos desde ahora) o “1d” (1 día desde ahora).1 segundo10 minutos14 días
gcloud dataproc clusters create cluster-name \
    --region=region \
    --max-idle=duration \
    --expiration-time=time \
    ... other flags ...

Puedes actualizar un clúster que se creó con la función de eliminación programada a fin de cambiar o quitar la configuración de eliminación programada. Para ello, pasa las siguientes marcas de eliminación programada al comando gcloud dataproc clusters update (otras marcas de actualización de clústeres no se pueden combinar con las marcas de eliminación programada).

FlagDescripciónMayor nivel de detalleValor mín.Valor máx.
--max-idle1El tiempo que transcurre desde que el clúster entra en estado inactivo hasta que comienza a borrar. Proporciona la duración en formato IntegerUnit, en el que la unidad puede ser “s, m, h, d” (segundos, minutos, horas, días, respectivamente). Ejemplos: “30m” o “1d” (30 minutos o 1 día desde que el clúster entra en estado inactivo).1 segundo5 minutos14 días
--no-max-idleCancela la eliminación automática de clústeres debido a la duración del período de inactividad del clúster que estableció antes la marca max-idleno aplicableno aplicableno aplicable
--expiration-time2El momento en que se comienza a borrar el clúster en el formato de fecha y hora ISO 8601. Una forma fácil de generar la fecha y hora en el formato correcto es a través de Timestamp Generator. Por ejemplo, “2017-08-22T13:31:48-08:00” indica la hora de vencimiento 13:21:48 en la zona horaria UTC-8:00.1 segundo10 minutos desde la hora actual. La hora nueva no debe ser anterior a la hora ya establecida.14 días desde la hora actual
--max-age2El tiempo que transcurre desde que se envía la solicitud de actualización del clúster hasta que este comienza a borrar. Proporciona la duración en formato IntegerUnit, en el que la unidad puede ser “s, m, h, d” (segundos, minutos, horas, días, respectivamente). Ejemplos: “30m” (30 minutos desde ahora) o “1d” (1 día desde ahora).1 segundo10 minutos. La hora de eliminación programada actualizada (hora de actualización + nueva duración de max-age) no debe ser anterior a la hora de eliminación del clúster ya establecida.14 días
--no-max-ageCancela la eliminación automática de clústeres debido a la antigüedad máxima del clúster ya establecida por la marca max-idle o expiration-timeno aplicableno aplicableno aplicable
gcloud dataproc clusters update cluster-name \
    --region=region \
    --max-idle=duration \
    --no-max-age \
    ... other flags

API de REST

Para crear un clúster con la función de eliminación programada del clúster, configura los siguientes campos ClusterLifecycleConfig en tu solicitud a la API cluster.create o cluster.patch.

Flag Descripción Mayor nivel de detalle Valor mín. Valor máx.
idleDeleteTtl1 El tiempo que transcurre desde que el clúster entra en estado inactivo hasta que comienza a borrar. Muestra la duración en segundos con hasta nueve dígitos fraccionarios, terminados en “s”. Ejemplo: “3.5s”. 1 segundo 5 minutos desde la creación o actualización del clúster. Cuando actualizas un clúster, el valor nuevo debe ser mayor que el valor ya establecido. Envía una solicitud cluster.patch con una duración vacía para cancelar un valor idleDeleteTtl ya establecido. 14 días
autoDeleteTime2 El momento de comenzar a borrar el clúster. Muestra una marca de tiempo en el formato RFC 3339 UTC “Zulu”, con precisión de nanosegundos. Ejemplo: “2014-10-02T15:01:23.045123456Z”. 1 segundo 10 minutos desde la hora actual. Cuando actualizas un clúster, la hora nueva debe ser posterior a la hora ya establecida. 14 días desde la hora actual
autoDeleteTtl2 El tiempo que transcurre desde que se envía la solicitud de creación o actualización de clústeres hasta que este comienza a borrar. Muestra la duración en segundos con hasta nueve dígitos fraccionarios, terminados en “s”. Ejemplo: “3.5s”. 1 segundo 10 minutos. Cuando actualizas un clúster, la nueva hora de eliminación programada (hora de actualización + nueva duración de max-age) debe ser posterior a la hora de eliminación del clúster ya establecida. Envía una solicitud cluster.patch con una duración vacía para cancelar un valor autoDeleteTtl ya establecido. 14 días

Console

  • Abre la página de Dataproc Crear un clúster y, luego, selecciona el panel Personalizar clúster. Desplázate hacia abajo hasta la sección Eliminación programada y, luego, selecciona las opciones que deseas aplicar a tu clúster.

Visualiza la configuración de clústeres de la eliminación programada

Comando de gcloud

Puedes usar el comando gcloud dataproc clusters list para confirmar que un clúster tiene habilitada la eliminación programada.

 gcloud dataproc clusters list \
     --region=region
...
NAME         WORKER_COUNT ... SCHEDULED_DELETE
cluster-id   number       ... enabled
...

Puedes usar el comando gcloud dataproc clusters describe para verificar la configuración de eliminación programada de la LifecycleConfig de un clúster.

gcloud dataproc clusters describe cluster-name \
    --region=region
...
lifecycleConfig:
  autoDeleteTime: '2018-11-28T19:33:48.146Z'
  idleDeleteTtl: 1800s
  idleStartTime: '2018-11-28T18:33:48.146Z'
...

autoDeleteTime y idleDeleteTtl son los valores de configuración de eliminación programada que el usuario estableció en el clúster. Dataproc genera el valor idleStartTime, que es la última hora de inicio del clúster inactivo. Dataproc borra el clúster si este permanece inactivo en idleStartTime + idleDeleteTtl.

API de REST

Puedes realizar una solicitud clusters.list para confirmar que un clúster tiene habilitada la eliminación programada.

Console

Para ver la configuración de eliminación programada del clúster, selecciona el nombre del clúster en la página de clústeres de Dataproc en la consola de Google Cloud. En la página de detalles del clúster, selecciona la pestaña CONFIGURATION. Desplázate hacia abajo en la lista de configuración del clúster para ver la configuración de eliminación programada.