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.
Flag | Descrição | Melhor granularidade | Valor mín. | Valor máx. |
---|---|---|---|---|
--max-idle 1 | 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 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 segundo | 5 minutos | 14 dias |
--expiration-time 2 | Tempo 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 segundo | 10 minutos a partir do horário atual | 14 dias a partir do horário atual |
--max-age 2 | Duraçã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 segundo | 10 minutos | 14 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).
Flag | Descrição | Melhor granularidade | Valor mín. | Valor máx. |
---|---|---|---|---|
--max-idle 1 | 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 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 segundo | 5 minutos | 14 dias |
--no-max-idle | Cancela a exclusão automática do cluster por tempo de inatividade dele, previamente definido pela sinalização max-idle | não aplicável | não aplicável | não aplicável |
--expiration-time 2 | Tempo 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 segundo | 10 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-age 2 | Duraçã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 segundo | 10 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-age | Cancela 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ável | não aplicável | nã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. |
---|---|---|---|---|
idleDeleteTtl 1 |
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 |
autoDeleteTime 2 |
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 |
autoDeleteTtl 2 |
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.