Vous voulez développer une application qui se connecte à un serveur Kafka, et à l’heure actuelle le seul moyen que vous avez pour vous y connecter est un tunnel SSH. Mauvaise nouvelle : ça ne marchera pas sans cette astuce.

Le problème

Le problème n’apparaîtra pas avec les producteurs de messages, mais bien avec les consommateurs. En effet les messages Kafka contiennent des métadonnées, et quand votre consommateur en recevra un il essaiera de se connecter directement au broker de messages sans passer par votre tunnel, en utilisant pour ceci le nom d’hôte où est hébergé votre broker.

La solution

La solution est simple : il suffit d’éditer votre fichier hosts qui se trouve sous /etc sur les vrais systèmes et sous %windir%\system32\drivers\etc sous W—–s et d’ajouter la ligne suivante :


[nom_de_l_hote_distant_tel_que_dans_le_message_d_erreur_du_consommateur]            127.0.0.1

Et si le nom d’hôte se trouve mappé à un DNS ?

Deux solutions : soit vous ajoutez un autre alias pour ce nom d’hôte dans votre fichier hosts et vous utilisez ce deuxième alias pour vous y connecter, soit vous renseignez directement son IP dans la chaîne bootstrap.servers de Kafka.

Besoin de tester ton niveau en développement informatique ?

Cet article vous a plu ? Vous aimerez sûrement aussi :

Julien
Moi c’est Julien, ingénieur en informatique avec quelques années d’expérience. Je suis tombé dans la marmite étant petit, mon père avait acheté un Apple – avant même ma naissance (oui ça date !). Et maintenant je me passionne essentiellement pour tout ce qui est du monde Java et du système, les OS open source en particulier.

Au quotidien, je suis devops, bref je fais du dév, je discute avec les opérationnels, et je fais du conseil auprès des clients.

Son Twitter Son LinkedIn

 

Laisser un commentaire