Todos os produtos
Search
Central de documentação

Realtime Compute for Apache Flink:Conectividade de rede

Última atualização: Jul 09, 2026

Por padrão, o Realtime Compute for Apache Flink não acessa a internet pública. Este tópico aborda perguntas frequentes sobre acesso à internet pública, conectividade entre VPCs, resolução de DNS e testes de rede.

Solucionar problemas de rede

O Realtime Compute for Apache Flink é implantado em uma VPC específica, que não pode ser modificada após a ativação do workspace. Se sua source ou sink estiver em um ambiente de rede diferente, a comunicação falhará.

Siga estas etapas para diagnosticar e resolver problemas relacionados à rede:

  1. Teste a conectividade: Use o recurso de sonda de rede no console do Flink para verificar a comunicação entre o workspace do Flink e seus serviços upstream ou downstream. Consulte Executar uma sonda de rede.

  2. Verifique o acesso à rede: Por padrão, o Flink acessa apenas serviços na mesma região e VPC.

  3. Configure listas de permissões: Garanta que os grupos de segurança ou firewalls dos seus serviços upstream/downstream permitam tráfego do seu workspace do Flink. Configurar listas de permissões para serviços upstream e downstream.

  4. Ajuste as configurações de conexão: Se ocorrerem erros persistentes de tempo limite apesar da configuração correta da rede, aumente a opção connect.timeout na sua instrução DDL.

Executar uma sonda de rede

O Realtime Compute for Apache Flink oferece um recurso integrado de sonda de rede para teste de conectividade. Procedimento:

  1. Acesse o Portal de Gerenciamento do Realtime Compute for Apache Flink.

  2. Na coluna Actions do workspace desejado, clique em Console.

  3. Clique no ícone Network Detection no canto superior direito da barra de navegação superior.

    Network Detection icon

  4. Insira o endpoint ou endereço IP e a porta de um serviço e clique em Detect.

    Importante

    Ao inserir um endpoint em Host, remova :<port> e insira o número da porta no campo Port.

    Network Detection dialog box

    Se a sonda de rede retornar um erro "connect timed out", provavelmente o workspace do Flink não tem as permissões de rede necessárias para alcançar o endpoint de destino. Por padrão, o Flink acessa apenas serviços na mesma VPC. Verifique se o endpoint de destino não é um endereço de internet pública ou se está localizado em uma VPC diferente. Caso precise de acesso entre VPCs ou à internet pública, consulte Acessar serviços entre VPCs e Acessar a internet.

Obter o endpoint do Hologres

  1. Acesse o console do Hologres. Na página Instances, clique na instância desejada.

  2. Na página Instance Details, localize o endpoint na seção Network Information. Escolha o endpoint correspondente à sua topologia de rede:

    Tipo de rede

    Caso de uso

    Dedicated VPC (Recomendado)

    Uma rede privada conectada a uma VPC específica.

    • Mesma VPC (Recomendado): Se a instância do Hologres e o workspace do Flink estiverem na mesma VPC, eles podem se comunicar diretamente.

    • VPC diferente: Se estiverem em VPCs diferentes, configure a rede entre VPCs. Para mais informações, consulte Acessar serviços entre VPCs.

    Public Network

    Uma rede pública sem restrições de acesso. A latência pode ser maior e menos previsível do que no acesso via VPC.

    Para mais informações, consulte Acessar a internet pública.

  3. (Opcional) Execute uma sonda de rede no console do Flink para verificar a conectividade. Para mais informações, consulte Executar uma sonda de rede.

    • Sonda bem-sucedida: O endpoint está correto e a rede está conectada.

    • Falha na sonda: Verifique se a instância do Hologres e o workspace do Flink estão em VPCs diferentes ou se requerem acesso à internet pública.

Acessar a internet

O acesso à internet pública geralmente apresenta latência mais alta e volátil em comparação à comunicação interna via VPC. Para cargas de trabalho que exigem latência e estabilidade rigorosas, priorize a conectividade baseada em VPC.

Utilize um NAT Gateway da Alibaba Cloud para conectar sua VPC à internet pública. Isso permite que o workspace do Flink alcance fontes de dados hospedadas fora da sua rede privada. Para detalhes, consulte Fontes de dados públicas.

Verificar a largura de banda da internet

Se o seu job apresentar métricas normais e ausência de backpressure, mas o throughput permanecer abaixo do esperado, a largura de banda da internet pode ser o gargalo.

Siga estas etapas para diagnosticar limites de largura de banda:

  1. No console do Realtime Compute for Apache Flink, clique em Details na coluna Actions.

  2. Na caixa de diálogo Workspace Details, anote o VPC ID.

  3. Acesse o console da VPC e clique no ID da VPC desejada.

  4. Na página de detalhes da VPC, selecione a aba Resource Management. Na seção Access to Internet, clique no número abaixo de Internet NAT Gateway.

    Nota

    0 indica que você ainda não possui uma instância de Internet NAT Gateway.

  5. Clique no ID do NAT gateway da internet desejado.

  6. Na página de detalhes, alterne para a aba Associated EIP e clique no ID da instância EIP.

  7. Na página de detalhes da instância EIP, selecione a aba Monitoring and O&M para visualizar a largura de banda.

Acessar serviços entre VPCs

Para obter desempenho ideal e simplificar a rede, recomendamos implantar seus serviços na mesma VPC do seu workspace do Flink. Se você já implantou recursos, considere o seguinte:

  • Colocação de serviços: Se os serviços estiverem na fase de planejamento, provisione-os na mesma VPC do seu workspace do Flink.

  • Migração de workspace: Se aplicável, libere seu workspace atual do Flink e crie um novo na mesma VPC dos seus serviços existentes.

  • Conectividade entre VPCs: Para serviços que precisam permanecer em uma VPC separada, configure a rede entre VPCs. Para detalhes, consulte Conectar VPCs.

Configurar lista de permissões para serviços upstream e downstream

Geralmente, os serviços upstream e downstream negam acesso proveniente do Flink. Adicione o bloco CIDR do vSwitch configurado para o seu workspace do Flink à lista de permissões de cada serviço de destino.

  1. Acesse o Portal de Gerenciamento do Realtime Compute for Apache Flink.

  2. Na coluna Actions do workspace desejado, clique em Details.

  3. Na caixa de diálogo Workspace Details, na seção vSwitch, anote o CIDR Block do vSwitch.CIDR Block

  4. Adicione o bloco CIDR do vSwitch à lista de permissões do seu serviço upstream ou downstream de destino.

    Por exemplo, para configurar uma lista de permissões para uma instância do ApsaraDB RDS for MySQL, consulte Configurar uma lista de permissões para uma instância do RDS.

    Nota
    • Dimensionamento de vSwitch: Se você adicionar mais vSwitches ao seu workspace, repita o processo de configuração para cada novo vSwitch.

    • Conectividade entre zonas: Se o seu vSwitch e os serviços upstream/downstream estiverem em zonas diferentes, ainda será possível habilitar a conectividade adicionando o bloco CIDR do vSwitch à lista de permissões do serviço.

Resolver nomes de domínio para dependências de jobs do Flink

Se seus jobs referenciam serviços externos por nome de domínio, podem ocorrer erros de resolução de DNS durante a migração de clusters autogerenciados para o Realtime Compute for Apache Flink. Utilize os métodos a seguir para resolver esses problemas:

  • Método A: Usar um servidor DNS autogerenciado

    Se a VPC do seu Flink puder alcançar um servidor DNS autogerenciado, configure o workspace do Flink para utilizá-lo.

    1. Acesse o Portal de Gerenciamento do Realtime Compute for Apache Flink.

    2. Na coluna Actions do workspace desejado, clique em Console.

    3. No painel de navegação à esquerda, escolha O&M > Configurations. Na aba Deployment Defaults, localize Other Configuration e adicione o código a seguir.

      env.java.opts: >-
        -Dsun.net.spi.nameservice.provider.1=default
        -Dsun.net.spi.nameservice.provider.2=dns,sun
        -Dsun.net.spi.nameservice.nameservers=192.168.0.1

      (Substitua 192.168.0.1 pelo IP real do seu servidor DNS; separe vários IPs por vírgulas.)

    4. Clique em Save Changes.

    5. Reimplante seu job.

      Nota
      • Compatibilidade do mecanismo: Esta configuração não é suportada em mecanismos baseados em JDK 11.

      • Solução de problemas: Se o erro UnknownHostException persistir, entre em contato com o suporte técnico da Alibaba Cloud. Se o job encontrar timeouts frequentes de heartbeat do JobManager, consulte Erro: Timeout de heartbeat do JobManager.

  • Método B: Usar o Alibaba Cloud DNS

    Se você não tiver um servidor DNS autogerenciado ou se a VPC do Flink não conseguir alcançar seu servidor DNS existente, use o Alibaba Cloud DNS para resolver os nomes de domínio dos seus serviços.

Como forçar a resolução de DNS a usar IPv4?

Quando o nome de domínio de um serviço de backend resolve para um endereço IPv6, as conexões podem falhar. Você pode adicionar um parâmetro JVM para forçar a pilha de protocolos IPv4.

Adicione o seguinte parâmetro em Other Configuration:

env.java.opts: '-Djava.net.preferIPv4Stack=true'

Esse parâmetro pode ser aplicado em dois níveis:

  • Por job: Na página O&M, clique no job desejado e acesse Deployment Details > Runtime Parameters > Other Configuration. Para mais informações, consulte Parâmetros.

  • Para todo o workspace: Acesse Configurations > Deployment Defaults > Other Configuration.

Salve a configuração e reinicie o job para que as alterações entrem em vigor.

Erro: Timeout de heartbeat do JobManager

  • Sintoma

    Após configurar um servidor DNS autogerenciado para resolução de domínios, os jobs frequentemente sofrem failover com um erro de JobManager heartbeat timeout.

  • Causa

    Alta latência de DNS: A latência entre os TaskManagers e o servidor DNS autogerenciado causa atrasos que interrompem o sinal de heartbeat entre o JobManager e os TaskManagers.

  • Solução

    Desative a resolução de hostname para os TaskManagers a fim de ignorar a consulta DNS durante as verificações de heartbeat. Adicione o seguinte à configuração do seu job: jobmanager.retrieve-taskmanager-hostname: false. Essa configuração não afeta a capacidade do job de se conectar a serviços externos por nome de domínio. Para instruções detalhadas, consulte Configurar parâmetros de execução personalizados.

Por que o Kafka retorna timeout de metadados mesmo com a rede conectada?

A conectividade de rede entre o Flink e o Kafka não garante que o Flink consiga ler dados do Kafka. O Flink se conecta ao servidor bootstrap do Kafka para recuperar metadados do cluster, que contêm os endpoints anunciados de cada broker. O Flink precisa conseguir alcançar esses endpoints anunciados para ler dados.

Mesmo que a conexão inicial de bootstrap seja bem-sucedida, a transferência de dados falhará se os endpoints anunciados nos metadados do broker forem inalcançáveis a partir da VPC do Flink. Para mais informações, consulte Kafka Client Cannot Connect to Broker.

Para diagnosticar esse problema:

  1. Use zkCli.sh ou zookeeper-shell.sh para se conectar ao cluster ZooKeeper usado pelo Kafka.

  2. Execute ls /brokers/ids para listar todos os IDs de brokers do Kafka.

  3. Execute get /brokers/ids/{your_broker_id} para visualizar os metadados do broker. As informações de endpoint estão no campo listener_security_protocol_map.

  4. Verifique se o Flink consegue alcançar o endpoint listado nos metadados do broker.

    Se o endpoint usar um nome de domínio, configure a resolução de DNS para o seu workspace do Flink. Para mais informações, consulte Resolver nomes de domínio para dependências de jobs do Flink.