Os checkpoints do sistema e os savepoints formam os conjuntos de estados. Este tópico descreve como gerenciar os conjuntos de estados dos seus jobs, incluindo criação, visualização, exclusão e restauração de um job a partir de um estado específico.
Informações básicas
|
Conceito |
Detalhes |
|
Checkpoint do sistema (Corresponde ao Checkpoint no Apache Flink) |
O sistema Flink gerencia todo o ciclo de vida. Configure o checkpointing interval, o Checkpointing Timeout Time e o min interval between checkpoints, além de visualizar o status de geração. Não é possível criar ou excluir checkpoints do sistema manualmente. Por padrão, um job retém um checkpoint do sistema como parte do conjunto de estados para recuperação. Para obter mais informações sobre a configuração de parâmetros, consulte Configure job deployment information. |
|
Savepoint (Corresponde ao Savepoint no Apache Flink) |
O usuário gerencia todo o ciclo de vida das seguintes formas:
Nota
Mesmo com geração ou limpeza agendada, você gerencia o ciclo de vida ao definir as regras que o sistema segue. |
A tabela a seguir descreve as operações disponíveis para checkpoints do sistema e savepoints, seus casos de uso e links para a documentação relevante.
|
Ações |
Caso de uso |
Documentação |
|
Criar um savepoint manualmente |
Indicado quando você precisa criar um savepoint em um momento específico (durante a execução ou parada do job) e restaurar o job a partir dele posteriormente. Importante
|
|
|
Configurar criação automática agendada de savepoints |
Para criar savepoints automaticamente conforme um cronograma, configure um intervalo de criação. O sistema cria então savepoints para o job em execução com base nessa regra, eliminando a necessidade de criação manual. |
|
|
Visualizar a visão geral da geração de estados |
Verifique a visão geral para ver o histórico de geração de checkpoints do sistema e savepoints. Essas informações ajudam a avaliar rapidamente o status de persistência de estado do job. |
|
|
Restaurar um job de um savepoint especificado (inclusive de outro job) |
Para restaurar um job de um savepoint específico, selecione-o ao iniciar o job. Nota
É possível compartilhar savepoints entre jobs, desde que os estados sejam compatíveis. Isso é útil para testes A/B. |
Restore a job from a specified savepoint (including from another job) |
|
Configurar regras de limpeza automática para savepoints |
Para limpar savepoints automaticamente em vez de excluí-los manualmente, configure regras baseadas na quantidade de savepoints a reter ou no período máximo de retenção. Após salvar a regra, o sistema limpa automaticamente os savepoints do job em execução com base nela. Nota
|
|
|
Excluir manualmente um savepoint específico |
Savepoints criados manualmente não são excluídos automaticamente quando um job para. Exclua periodicamente os savepoints obsoletos para evitar uso desnecessário do Object Storage Service (OSS) e custos associados. |
|
|
Configurar parâmetros relacionados a estado |
Configure parâmetros como o sistema de armazenamento de estado para streams, o TTL de estado para jobs SQL e se deve armazenar dados temporários gerados durante a criação de savepoints em discos locais. |
Criar um savepoint manualmente
Só é possível criar um savepoint manualmente para um job que esteja no estado RUNNING.
-
Acesse a página de criação de savepoint do job desejado.
Faça login no console do Realtime Compute for Apache Flink.
Na coluna Actions do workspace desejado, clique em Console.
Na página , clique no nome do job desejado.
No canto superior direito da página, clique em Create Savepoint.
-
Selecione um formato de savepoint e insira uma descrição.
Os formatos de savepoint incluem native format e canonical format. O formato nativo é mais rápido de gerar e consome menos armazenamento, mas não é compatível entre versões do Flink. O formato canônico demora mais para gerar e consome mais armazenamento, porém suporta migração de jobs entre diferentes versões do Flink.
Clique em Create.
Configurar criação automática agendada de savepoints
-
Acesse a página State.
Faça login no console do Realtime Compute for Apache Flink.
Na coluna Actions do workspace desejado, clique em Console.
Na página , clique no nome do job desejado.
Clique em State.
-
Na aba Configuration, ative a chave Savepoint automatically generated at regular intervals e defina o cronograma.
Clique em Quick Setting para selecionar um intervalo de tempo predefinido ou insira manualmente uma expressão cron. Para inserir uma expressão manualmente, clique em cada campo para modificar seu valor. A tabela a seguir descreve os valores válidos e caracteres especiais suportados para os cinco campos de uma expressão cron.
Campo
Obrigatório
Faixa de valores
Caracteres especiais
Minuto
Sim
[0, 59]
* , - /
Hora
Sim
[0, 23]
* , - /
Dia do mês
Sim
[1, 31]
* , - /
Mês
Sim
[1, 12] ou [JAN, DEC]
* , - /
Dia da semana
Sim
[1, 7] ou [MON, SUN].
NotaSe você usar o formato numérico [1, 7], 1 representa segunda-feira e 7 representa domingo.
* , - /
NotaO intervalo mínimo é de 10 minutos. Se você especificar um intervalo menor que 10 minutos, o sistema usará o padrão de 10 minutos.
Cada campo suporta um conjunto de caracteres especiais com significados específicos, conforme descrito na tabela a seguir.
Caractere especial
Descrição
Exemplo
*Todos os valores possíveis.
No campo Mês,
*significa todos os meses. No campo Dia da semana,*significa todos os dias da semana.,Uma lista de valores enumerados.
No campo Minuto,
5,20aciona a tarefa aos 5 e 20 minutos após a hora cheia.-Um intervalo de valores.
No campo Minuto,
5-20aciona a tarefa a cada minuto do minuto 5 ao minuto 20./Um incremento para um valor numérico.
No campo Minuto,
0/15aciona a tarefa a cada 15 minutos, começando aos 0 minutos após a hora cheia.3/20aciona a tarefa a cada 20 minutos, começando aos 3 minutos após a hora cheia.A tabela a seguir fornece exemplos de expressões cron.
Exemplo
Descrição
15 10 * * *Executa diariamente às 10:15 AM.
0 12 * * *Executa diariamente às 12:00 PM (meio-dia).
0 10,14,16 * * *Executa diariamente às 10:00 AM, 2:00 PM e 4:00 PM.
0/30 9-17 * * *Executa a cada 30 minutos entre 9:00 AM e 5:00 PM diariamente.
* 14 * * *Executa a cada minuto das 2:00 PM às 2:59 PM diariamente.
0-5 14 * * *Executa a cada minuto das 2:00 PM às 2:05 PM diariamente.
0/5 14 * * *Executa a cada 5 minutos das 2:00 PM às 2:55 PM diariamente.
0/5 14,18 * * *Executa a cada 5 minutos durante a hora das 2:00 PM (2:00 PM às 2:55 PM) e a hora das 6:00 PM (6:00 PM às 6:55 PM) diariamente.
0 12 * * WEDExecuta às 12:00 PM (meio-dia) toda quarta-feira.
15 10 15 * *Executa às 10:15 AM no dia 15 de cada mês.
10,44 14 * 3 WEDExecuta às 2:10 PM e 2:44 PM em todas as quartas-feiras de março.
ImportanteDefinição de campos: A expressão contém cinco campos:
Minute Hour Day-of-month Month Day-of-week.-
União de Dia e Semana: Se tanto o terceiro campo (Day-of-month) quanto o quinto campo (Day-of-week) forem especificados, eles serão combinados com uma condição OR.
Por exemplo,
0 12 1 * 5significa que a tarefa executa às 12:00 PM no dia 1º do mês ou em todas as sextas-feiras. Não significa que a tarefa executa apenas quando o dia 1º do mês for também uma sexta-feira. Ponto de interrogação (?**) não é suportado: Não use o caractere
?, pois o sistema reportará um erro ou falhará em reconhecer a expressão. Para ignorar um campo, você deve usar*.**
Visualizar a visão geral do estado
-
Acesse a página State.
Faça login no console do Realtime Compute for Flink.
Na coluna Actions do workspace desejado, clique em Console.
Na página , clique no nome do deployment desejado.
Clique em State.
-
Na aba Overview, visualize as seguintes informações.
Categoria
Informação
Checkpoint do sistema
Exibe informações sobre os últimos checkpoints do sistema bem-sucedidos e com falha, incluindo ID, horário de conclusão, duração e tamanho total de armazenamento.
Savepoint
Mostra informações sobre os últimos savepoints bem-sucedidos e com falha, incluindo ID do savepoint, horário de conclusão, duração ou horário da falha.
Restaurar um job a partir de um savepoint de outro job
Apenas jobs no estado CANCELLED podem ser restaurados a partir de um savepoint específico. Se o seu job estiver RUNNING, pare o job primeiro.
-
Acesse a página State.
Faça login no console do Realtime Compute for Apache Flink.
Na coluna Actions do workspace desejado, clique em Console.
Na página , clique no nome do deployment desejado.
Clique em State.
Na aba History, localize o savepoint desejado na lista Savepoints.
Na coluna Actions do savepoint desejado, escolha .
-
Na caixa de diálogo de configuração Start Job, configure as definições de inicialização do job.
Para obter mais informações, consulte Start a job.
Configurar regras de limpeza automática para savepoints
-
Acesse a página State.
Faça login no console do Realtime Compute.
Na coluna Actions do workspace desejado, clique em Console.
Na página , clique no nome do deployment desejado.
Clique em State.
-
Na aba Configuration, ative a chave Scheduled automatic cleaning of savepoint e configure as regras de limpeza.
É possível configurar o Number of historical snapshots saved e o Maximum Retention Period for Historical Savepoints. Quando um job Flink está em execução, os savepoints são limpos se qualquer uma dessas condições for atendida.
Clique em Save Changes.
Excluir um savepoint
-
Acesse a página State.
Faça login no console do Realtime Compute.
Na coluna Actions do workspace desejado, clique em Console.
Na página , clique no nome do deployment desejado.
Clique em State.
Na aba History, localize o savepoint desejado na lista Savepoints.
Na coluna Actions do savepoint desejado, escolha .
Clique em OK.
Definir parâmetros de estado
-
Acesse a página Deployments do deployment desejado.
Faça login no console do Realtime Compute for Apache Flink.
Na coluna Actions do workspace desejado, clique em Console.
Na página , clique no nome do deployment desejado.
Na aba Configuration, clique em Edit no lado direito da seção Parameters.
-
Na seção Other Configuration, adicione o código a seguir e clique em Save.
state.backend.incremental: true table.exec.state.ttl: 129600000Para obter mais informações sobre parâmetros básicos e avançados do Flink, consulte Configure GeminiStateBackend.
Documentos relacionados
Para perguntas frequentes sobre checkpoints do sistema ou savepoints no Realtime Compute for Apache Flink, consulte System checkpoints or savepoints.
Para detalhes sobre o impacto de compatibilidade das modificações de SQL, consulte SQL modifications and compatibility.