Use a atualização dinâmica de parâmetros em seus jobs do Flink para aplicar novas configurações com maior agilidade. Esse recurso reduz as interrupções de service causadas por reinicializações de jobs, simplifica o dimensionamento dinâmico de TaskManagers e facilita a solução de problemas em checkpoints.
Contexto
A atualização tradicional de parâmetros do Flink exige a reinicialização do job. Esse processo pode causar interrupções de service, atrasos no backfill de dados e picos no uso de recursos, prolongando o tempo de inatividade e afetando a continuidade dos negócios.
O recurso de atualização dinâmica de parâmetros envia uma solicitação REST para um job em execução. Isso permite que o job reutilize os contêineres existentes do JobManager e do TaskManager e aplique as atualizações por meio de uma reinicialização local ou, em alguns casos, sem necessidade de reinicialização, o que reduz o custo associado a esse processo. Combinado com capacidades como pré-alocação de recursos e carregamento lento de estado, esse recurso acelera significativamente a inicialização do job após uma atualização e reduz o tempo de inatividade de minutos para segundos. Em um job típico do tipo Source -> Map -> Sink, o uso de atualizações dinâmicas de parâmetros para dimensionamento dinâmico diminui drasticamente o tempo de interrupção do service. A figura a seguir compara os tempos de inatividade.

É possível dimensionar dinamicamente os TaskManagers ao atualizar o paralelismo. Para mais informações sobre como calcular a quantidade de TaskManagers, consulte Configure job resources.
Limitações
Somente os seguintes parâmetros aceitam atualizações dinâmicas: parallelism, Checkpointing Interval, Checkpointing Timeout e Min Interval Between Checkpoints. Caso você também modifique parâmetros incompatíveis com atualizações dinâmicas, essas alterações entrarão em vigor somente após a reinicialização do job.
Este recurso está disponível apenas para jobs executados no Ververica Runtime (VVR) 8.0.1 ou superior.
Não há suporte para atualização dinâmica de paralelismo no modo especialista (granularidade fina).
Observações de uso
A atualização dinâmica de parâmetros é um recurso experimental, e interrupções de service ainda podem ocorrer durante o processo. Em comparação à modificação tradicional de parâmetros, as atualizações dinâmicas reduzem significativamente o tempo de inatividade. No entanto, a duração exata da interrupção (geralmente entre 5 segundos e 1 minuto) depende de fatores como a topologia do job e o tamanho do estado.
As atualizações dinâmicas de parâmetros aplicam-se apenas a jobs em execução.
Ao atualizar dinamicamente o paralelismo, o Realtime Compute for Apache Flink ignora nós onde o paralelismo foi definido explicitamente. Isso ocorre porque certos operadores possuem requisitos específicos de paralelismo. Por exemplo, o paralelismo de um operador global deve ser 1, e o de uma source Kafka costuma ser definido explicitamente para evitar a ultrapassagem do número de partições. Para garantir que o paralelismo de um operador possa ser atualizado dinamicamente, não o defina explicitamente usando métodos como
DataStream#setParallelismou parâmetros de configuração de source/sink.O botão Hot-update aparece somente após a modificação de um dos parâmetros compatíveis: parallelism, Checkpointing Interval, Checkpointing Timeout ou Min Interval Between Checkpoints. As alterações entram em vigor após você clicar no botão. Se outros parâmetros incompatíveis com atualizações dinâmicas também forem modificados, essas mudanças terão efeito apenas depois de reiniciar o job.
Procedimento
-
Acesse a página O&M > Deployments.
Faça login no console do Realtime Compute for Apache Flink.
Na coluna Actions do workspace desejado, clique em Console.
No painel de navegação à esquerda, escolha . Clique no nome do job running alvo.
Na aba Configuration, na seção Resources ou Parameters, clique em Edit.
Modifique os valores dos parâmetros que aceitam atualizações dinâmicas e clique em Save.
-
No canto superior direito da página, clique em Hot-update.
ImportanteSomente os seguintes parâmetros aceitam atualizações dinâmicas: parallelism, Checkpointing Interval, Checkpointing Timeout e Min Interval Between Checkpoints. Caso você também modifique parâmetros incompatíveis com atualizações dinâmicas, essas alterações entrarão em vigor somente após a reinicialização do job.
-
Na caixa de diálogo exibida, revise as informações e clique em OK.
Após clicar em OK, um ícone será exibido indicando que a atualização está em andamento.
Documentação relacionada
Para atualizar parâmetros incompatíveis com atualizações dinâmicas, configure-os na aba Configuration e reinicie o job. Para mais informações, consulte Configure job deployment e Start a job.
O recurso de ajuste automático de desempenho ajuda a otimizar o paralelismo do job e a configuração de recursos. Para mais detalhes, consulte Configure automatic tuning.
O service de diagnóstico inteligente de jobs auxilia no monitoramento da integridade do job, na análise de erros e anomalias e fornece sugestões práticas de diagnóstico. Para mais informações, consulte Intelligent job diagnostics.