Kafka - Impossible d'envoyer un message à un serveur distant en utilisant Java
Je suis en train de créer un Kafka
cluster pour envoyer des messages à un contrôle à distance. J'ai tout configuré comme décrit ici.
Je suis en cours d'exécution sur une Linux red hat
de la machine, et il fonctionne très bien en utilisant le shell. Après avoir écrit le code java comme décrit dans la quick start
tutoriel sur ma machine windows, j'ai reçu le message d'erreur suivant:
...
DEBUG kafka.client.ClientUtils$ - Successfully fetched metadata for 1 topic(s) Set(example)
...
ERROR kafka.producer.SyncProducer - Producer connection to cldExampleKafka.domain:80 unsuccessful
java.nio.channels.UnresolvedAddressException
...
at kafka.producer.async.ProducerSendThread.run(ProducerSendThread.scala:44)
...
WARN kafka.producer.async.DefaultEventHandler - Failed to send producer request with correlation id 2 to broker 0 with data for patitions [ati,0]
java.nio.channels.UnresolvedAddressException
...
kafka.common.FailedToSendMessageException: Failed to send message after 3 tries.
J'ai aussi essayé d'exécuter le pot dans une autre machine Linux, et encore reçu le même message d'erreur.
Changer l'adresse de localhost
et d'exécuter le code java comme un pot dans la machine où l'kafka est installé œuvres.
Je crois que c'quelque chose avec la configuration, mais je ne pouvais pas le trouver.
source d'informationauteur itaied
Vous devez vous connecter pour publier un commentaire.
Dans votre kafka
server.properties
il est commenté configurationDécommentez la ligne suivante et ajouter l'IP de la Machine Linux dans laquelle kafka est en cours d'exécution.
Et de se connecter à partir de clients à
<Kafka Running Machine IP>
Cela devrait résoudre votre problème.MODIFIER
Vous pouvez, si vous décommentez la
Aussi, si vous êtes à l'écoute sur un autre port que celui par défaut.
Travaillé avec
de
server.properties
DécommentezEt
Remplacer
<HOST IP>
avec IP réelle.Essayé la connexion à kafka cluster distant à partir de ma machine locale.
VM a 1 interne(9.0.0.1 et ip externe(192.1.1.1) j'ai pu ssh uniquement à l'interne & pas de l'extérieur, des modifications à mon conifg/serveur.propriétés
//donner l'ip de la machine quand u ne ifconfig ou le nom d'hôte -je
//donner l'ip du consommateur et le producteur se connecter