Exclusão programada de cluster

Para evitar que sejam realizadas cobranças do Google Cloud referentes a um cluster inativo, use o recurso exclusão programada do cluster no Dataproc quando criar um cluster. Com esse recurso, você tem opções para excluir um cluster:

  • após um período de inatividade especificado do cluster;
  • em um horário futuro especificado;
  • após um período especificado que começa a partir do momento do envio da solicitação de criação do cluster.

Cálculo do tempo de inatividade do cluster

A propriedade do cluster dataproc:dataproc.cluster-ttl.consider-yarn-activity afeta o cálculo do tempo ocioso do cluster da seguinte maneira:

  • Essa propriedade é ativada (definida como true) por padrão.
  • Quando essa propriedade está ativada, a atividade da API Dataproc Jobs e do YARN precisa estar inativa para iniciar e continuar incrementando o cálculo do tempo de inatividade do cluster.
    • A atividade do YARN inclui aplicativos pendentes e em execução.
    • A atividade da API Dataproc Jobs inclui jobs pendentes e em execução enviados à API Dataproc Jobs.
  • Quando essa propriedade é definida como false, a atividade da API Dataproc Jobs precisa estar inativa para iniciar e continuar incrementando o cálculo do tempo de inatividade do cluster.

Como usar a exclusão programada de cluster

Comando gcloud

Você pode criar um cluster com o recurso de exclusão programada de clusters transmitindo as seguintes sinalizações de exclusão programada ao comando gcloud dataproc clusters create.

FlagDescriçãoMelhor granularidadeValor mín.Valor máx.
--max-idle1Duração entre o momento em que o cluster entra no estado inativo até o momento em que inicia a exclusão dele. Forneça a duração no formato IntegerUnit, em que a unidade pode ser "s, m, h, d" (segundos, minutos, horas, dias, respectivamente). Exemplos: "30m" ou "1d" (30 minutos ou 1 dia a partir do momento em que o cluster fica inativo).1 segundo5 minutos14 dias
--expiration-time2Tempo para iniciar a exclusão do cluster no formato de data e hora ISO 8601. Um modo fácil de gerar data e hora no formato correto é por meio do gerador de carimbo de data/hora. Por exemplo, "2017-08-22T13:31:48-08:00" especifica o tempo de expiração 13h21m48s no fuso horário UTC -8:00.Um segundo10 minutos a partir do horário atual 14 dias a partir do horário atual
--max-age2Duração entre o momento do envio da solicitação de criação do cluster e o momento em que inicia a exclusão dele. Forneça a duração no formato IntegerUnit, em que a unidade pode ser "s, m, h, d" (segundos, minutos, horas, dias, respectivamente). Exemplos: "30m" (30 minutos a partir de agora), "1d" (1 dia a partir de agora).Um segundo10 minutos14 dias
gcloud dataproc clusters create cluster-name \
    --region=region \
    --max-idle=duration \
    --expiration-time=time \
    ... other flags ...

É possível atualizar um cluster que foi criado com o recurso de exclusão programada de cluster para alterar ou remover as configurações de exclusão programadas transmitindo as seguintes sinalizações de exclusão programada para o comando gcloud dataproc clusters update (outras sinalizações de atualização de cluster não podem ser combinadas com sinalizações de exclusão programada).

FlagDescriçãoMelhor granularidadeValor mín.Valor máx.
--max-idle1Duração entre o momento em que o cluster entra no estado inativo até o momento em que inicia a exclusão dele. Forneça a duração no formato IntegerUnit, em que a unidade pode ser "s, m, h, d" (segundos, minutos, horas, dias, respectivamente). Exemplos: "30m" ou "1d" (30 minutos ou 1 dia a partir do momento em que o cluster fica inativo).1 segundo5 minutos14 dias
--no-max-idleCancela a exclusão automática do cluster por tempo de inatividade dele, previamente definido pela sinalização max-idlenão aplicávelnão aplicávelnão aplicável
--expiration-time2Tempo para iniciar a exclusão do cluster no formato de data e hora ISO 8601. Um modo fácil de gerar data e hora no formato correto é por meio do gerador de carimbo de data/hora. Por exemplo, "2017-08-22T13:31:48-08:00" especifica o tempo de expiração 13h21m48s no fuso horário UTC -8:00.Um segundo10 minutos a partir do horário atual, e o novo horário não pode ser anterior ao previamente definido.14 dias a partir do horário atual
--max-age2Duração entre o momento do envio da solicitação de atualização do cluster e o momento em que inicia a exclusão dele. Forneça a duração no formato IntegerUnit, em que a unidade pode ser "s, m, h, d" (segundos, minutos, horas, dias, respectivamente). Exemplos: "30m" (30 minutos a partir de agora), "1d" (1 dia a partir de agora).Um segundo10 minutos, e o horário de exclusão programada atualizado (horário atualizado + nova duração máxima) não pode ser anterior ao definido anteriormente do cluster.14 dias
--no-max-ageCancela a exclusão automática do cluster por duração máxima dele definida anteriormente pela sinalização max-age ou expiration-time.não aplicávelnão aplicávelnão aplicável
gcloud dataproc clusters update cluster-name \
    --region=region \
    --max-idle=duration \
    --no-max-age \
    ... other flags

API REST

É possível criar um cluster com o recurso de exclusão programada do cluster definindo os seguintes campos ClusterLifecycleConfig na solicitação de API cluster.create ou cluster.patch.

Flag Descrição Melhor granularidade Valor mín. Valor máx.
idleDeleteTtl1 Duração entre o momento em que o cluster entra no estado inativo até o momento em que inicia a exclusão dele. Forneça uma duração em segundos com até nove dígitos fracionários, terminando com 's'. Exemplo: "3.5s". 1 segundo 5 minutos a partir do momento da criação ou da atualização do cluster. Ao atualizar um cluster, o novo valor precisa ser maior que o definido anteriormente. Envie uma solicitação cluster.patch com uma duração vazia para cancelar um valor de idleDeleteTtl definido anteriormente. 14 dias
autoDeleteTime2 Momento de início da exclusão do cluster. Forneça um carimbo de data/hora no formato UTC "Zulu" RFC 3339, precisamente medido em nanossegundos. Exemplo: "2014-10-02T15:01:23.045123456Z". Um segundo 10 minutos a partir do horário atual. Ao atualizar um cluster, o novo horário precisa ser posterior ao definido anteriormente. 14 dias a partir do horário atual
autoDeleteTtl2 A duração entre o momento do envio da solicitação de criação ou atualização do cluster e o momento em que inicia a exclusão dele. Forneça uma duração em segundos com até nove dígitos fracionários, terminando com "s". Exemplo: "3.5s". Um segundo 10 minutos. Ao atualizar um cluster, o novo horário de exclusão programada (horário atualizado + nova duração máxima) não pode ser anterior ao definido anteriormente do cluster. Envie uma solicitação cluster.patch com uma duração vazia para cancelar um valor de autoDeleteTtl definido anteriormente. 14 dias

Console

  • Abra a página Criar um cluster do Dataproc e selecione o painel "Personalizar cluster". Role para baixo até a seção "Exclusão programada" e selecione as opções a serem aplicadas ao cluster.

Como visualizar as configurações do cluster para exclusão programada

Comando gcloud

Use o comando gcloud dataproc clusters list para confirmar que um cluster tem a exclusão programada ativada.

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

Use o comando gcloud dataproc clusters describe para verificar as configurações de exclusão programada LifecycleConfig de um cluster.

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

Os autoDeleteTime e idleDeleteTtl são os valores de configuração de exclusão programados definidos anteriormente pelo usuário no cluster. O Dataproc gera o valor idleStartTime, que é o horário de início mais recente do cluster. O Dataproc excluirá o cluster se ele permanecer inativo em idleStartTime + idleDeleteTtl.

API REST

Você pode fazer uma solicitação clusters.list para confirmar que um cluster tem a exclusão programada ativada.

Console

É possível conferir as configurações de exclusão programada do cluster selecionando o nome dele na página Clusters do Dataproc no console do Google Cloud. Na página de detalhes dos clusters, selecione a guia "CONFIGURAÇÃO". Role a lista de configurações do cluster para baixo para ver as configurações de exclusão programada.