Resolver endereços da VM localizada em diferentes regiões: Google Cloud

1

Sou um principiante absoluto com o Google Cloud Platform e a rede. Eu estou tentando se comunicar entre duas VM localizadas em diferentes regiões. Quando eu pingar os hosts ou quando eu ssh usando o endereço IP eles estão trabalhando arquivo.

Mas quando tento acessar as VMs de um programa java, estou ficando abaixo da exceção. Alguém pode me ajudar

java.io.IOException: Can't resolve address: kafka-3:9092
        at org.apache.kafka.common.network.Selector.doConnect(Selector.java:235) ~[kafka-clients-2.0.0.jar!/:?]
        at org.apache.kafka.common.network.Selector.connect(Selector.java:214) ~[kafka-clients-2.0.0.jar!/:?]
        at org.apache.kafka.clients.NetworkClient.initiateConnect(NetworkClient.java:864) [kafka-clients-2.0.0.jar!/:?]
        at org.apache.kafka.clients.NetworkClient.access$700(NetworkClient.java:64) [kafka-clients-2.0.0.jar!/:?]
        at org.apache.kafka.clients.NetworkClient$DefaultMetadataUpdater.maybeUpdate(NetworkClient.java:1035) [kafka-clients-2.0.0.jar!/:?]
        at org.apache.kafka.clients.NetworkClient$DefaultMetadataUpdater.maybeUpdate(NetworkClient.java:920) [kafka-clients-2.0.0.jar!/:?]
        at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:508) [kafka-clients-2.0.0.jar!/:?]
        at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:239) [kafka-clients-2.0.0.jar!/:?]
        at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:163) [kafka-clients-2.0.0.jar!/:?]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]
Caused by: java.nio.channels.UnresolvedAddressException
        at sun.nio.ch.Net.checkAddress(Net.java:101) ~[?:1.8.0_181]
        at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:622) ~[?:1.8.0_181]
        at org.apache.kafka.common.network.Selector.doConnect(Selector.java:233) ~[kafka-clients-2.0.0.jar!/:?]
        ... 9 more
    
por wandermonk 11.11.2018 / 13:42

1 resposta

2

Desde que você trabalhe apenas com instâncias de computação do GCP, você tem várias opções:

  1. configure / etc / hosts com todos os IPs e nomes de host codificados em todas as instâncias (não recomendado, apenas para fins de depuração)
  2. configure uma zona de DNS do Cloud hospedada e crie uma entrada para cada instância e use o DNS: link
  3. use DNS interno, uma espécie de zona DNS fornecida por padrão pelo Google: link

Você pode ter mais opções, mas essas três são usadas com frequência.

    
por 11.11.2018 / 16:07