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 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.
Flag | Descripción | Mayor nivel de detalle | Valor mín. | Valor máx. |
---|---|---|---|---|
--max-idle 1 | El 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 segundo | 5 minutos | 14 días |
--expiration-time 2 | El 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 segundo | 10 minutos desde la hora actual | 14 días desde la hora actual |
--max-age 2 | El 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 segundo | 10 minutos | 14 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).
Flag | Descripción | Mayor nivel de detalle | Valor mín. | Valor máx. |
---|---|---|---|---|
--max-idle 1 | El 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 segundo | 5 minutos | 14 días |
--no-max-idle | Cancela 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-idle | no aplicable | no aplicable | no aplicable |
--expiration-time 2 | El 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 segundo | 10 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-age 2 | El 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 segundo | 10 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-age | Cancela 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-time | no aplicable | no aplicable | no 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. |
---|---|---|---|---|
idleDeleteTtl 1 |
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 |
autoDeleteTime 2 |
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 |
autoDeleteTtl 2 |
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.