Todos os produtos
Search
Central de documentação

Realtime Compute for Apache Flink:Conectividade de rede

Última atualização: Nov 03, 2026

Por padrão, o Realtime Compute for Apache Flink não acessa a internet pública. Este tópico aborda as 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 a fonte ou o destino estiver em um ambiente de rede diferente, a comunicação falhará.

Siga estas etapas para diagnosticar e resolver problemas de rede:

  1. Teste a conectividade: use o recurso de sondagem de rede no console do Flink para verificar a comunicação entre o workspace do Flink e os serviços upstream ou downstream. Consulte Executar uma sondagem 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: verifique se os grupos de segurança ou firewalls dos serviços upstream e downstream permitem tráfego do 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 mesmo com a rede configurada corretamente, aumente a opção connect.timeout na instrução DDL. O valor padrão desse parâmetro é 30 segundos.

Executar uma sondagem de rede

O Realtime Compute for Apache Flink oferece um recurso integrado de sondagem 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.

    Network Detection icon

  4. Insira o endpoint ou endereço IP e porta do serviço e clique em Detect.

    Importante

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

    Network Detection dialog box

    Se a sondagem 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 está localizado em uma VPC diferente. Se precisar 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)

    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, a comunicação ocorre diretamente.

    • VPCs diferentes: se estiverem em VPCs diferentes, configure a conexão entre VPCs. Para mais informações, consulte Acessar serviços entre VPCs.

    Public Network

    Rede pública sem restrições de acesso. A latência pode ser maior e menos previsível que o acesso por VPC.

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

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

    • Sondagem bem-sucedida: o endpoint está correto e a rede está conectada.

    • Sondagem com falha: verifique se a instância do Hologres e o workspace do Flink estão em VPCs diferentes ou se necessitam de acesso à internet pública.

Acessar a internet

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

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

Verificar a largura de banda da internet

Se o job apresentar métricas normais e sem 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 de 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 tem uma instância de Internet NAT Gateway. Se o número for 0, crie um Internet NAT gateway. Para mais informações, consulte NAT Gateway público.

  5. Clique no ID do Internet NAT gateway desejado.

  6. Na página de detalhes, selecione 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 o melhor desempenho e simplificar a rede, recomendamos implantar os serviços na mesma VPC do workspace do Flink. Se os recursos já estiverem implantados, considere as opções a seguir:

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

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

  • Conectividade entre VPCs: para serviços que precisam permanecer em uma VPC separada, configure a conexão entre VPCs. Para mais detalhes, consulte Conectar VPCs.

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

Geralmente, os serviços upstream e downstream negam acesso do Flink. Adicione o bloco CIDR do vSwitch configurado para o 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 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 RDS.

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

    • Conectividade entre zonas: se o vSwitch e os serviços upstream/downstream estiverem em zonas diferentes, ainda é 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 os 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. Use os métodos a seguir para resolver esses problemas:

  • Método A: Usar um servidor DNS autogerenciado

    Se a VPC do 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 o job.

      Nota
      • Compatibilidade do engine: esta configuração não é compatível com engines baseados em JDK 11.

      • Solução de problemas: se o erro UnknownHostException persistir, entre em contato com o suporte técnico do Alibaba Cloud. Se o job apresentar 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 tem um servidor DNS autogerenciado ou se a VPC do Flink não consegue alcançar o servidor DNS existente, use o Alibaba Cloud DNS para resolver os nomes de domínio dos serviços.

Como forçar a resolução 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. Adicione um parâmetro JVM para forçar o uso da 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 Configuration > 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ínio, os jobs falham frequentemente com 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 a seguinte configuração ao 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 obter os 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 com o bootstrap seja bem-sucedida, a transferência de dados falhará se os endpoints anunciados nos metadados do broker estiverem inacessí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 workspace do Flink. Para mais informações, consulte Resolver nomes de domínio para dependências de jobs do Flink.