telnet - «Connexion fermée par un hôte étranger»

21

Je veux configurer un cluster Apache Spark mais je ne suis pas en mesure de communiquer de la machine de travail à la machine principale au port 7077 (où Spark Master est en cours d'exécution).

J'ai donc essayé d' telnetaller au maître depuis la machine du travailleur et voici ce que je vois:

root@worker:~# telnet spark 7077
Trying 10.xx.xx.xx...
Connected to spark.
Escape character is '^]'.
Connection closed by foreign host.

La commande s'est terminée avec "Connexion fermée par un hôte étranger" immédiatement. Il ne s'arrête pas ou quoi que ce soit.

J'ai vérifié que l'hôte écoute sur le port et depuis la telnetsortie affiche "Connecté à l'étincelle". - cela signifie également que la connexion est réussie.

Quelle pourrait être la raison d'un tel comportement? Je me demande si cette fermeture de la connexion pourrait être la raison pour laquelle je ne suis pas en mesure de communiquer de ma machine de travail avec le maître.

Mor Eru
la source
Votre port telnet (23) permet-il d'accéder aux iptables sur spark?
ryekayo
iptables sur spark est vide. La politique est ACCEPTÉE pour les chaînes INPUT, FORWARD et OUTPUT
Mor Eru

Réponses:

15

Le processus qui écoute les connexions sur le port 7077 accepte la connexion, puis ferme immédiatement la connexion. Le problème réside quelque part dans le code ou la configuration de cette application, pas dans le système lui-même.

John
la source
Il ne pourrait donc pas y avoir de problème avec la connexion et c'est peut-être ainsi que l'application se comporte? Je suis nouveau sur Apache Spark et je ne sais pas si c'est le comportement attendu !!!
Mor Eru
2
Je doute que c'est ainsi que l'application est censée se comporter. Consultez la documentation Apache Spark et les sites de support pour obtenir des informations de débogage de configuration.
John
5

Je viens d'apprendre un comportement étrange dans certains serveurs virtuels, en particulier ceux qui sont exécutés en NAT. Vous vous connectez au port exposé par le serveur virtuel à l'extérieur; le serveur essaie ensuite de transmettre la connexion à une cible; la cible refuse. Ainsi, le NAT fermera votre connexion sans aucun message. Tirez vos cheveux en essayant de comprendre ce qui se passe. Cela ressemble beaucoup à la réponse précédente; la source est l'interaction dans l'hôte virtuel lui-même.

La cause la plus probable est que quelqu'un utilise le port et que l'application en cours d'exécution n'accepte qu'une seule connexion à la fois et refuse toute connexion supplémentaire.

Stephen Satchell
la source
Nous avons également rencontré cette erreur avec un serveur SFTP externe. Nous nous sommes renseignés auprès du fournisseur de services et ils ont exclu toute restriction sur les ports ainsi que toute autre règle de configuration pouvant s'appliquer intentionnellement. Nous voyons ce problème par intermittence sur un travail planifié qui tire de l'hôte distant une fois par heure pendant les heures ouvrables. Jusqu'à présent, ils semblent être d'accord avec vous que la connexion est acceptée, mais l'hôte virtuel refuse temporairement la connexion.
JE Carter II
2

L'application a des restrictions de stratégie pour se connecter uniquement à partir de l'hôte local. Même "problème" avec elasticsearch. Vous pouvez vérifier votre configuration d'application ou créer un tunnel. Faire

ssh -N -L 7077:127.0.0.1:7077 userxy@spark

puis sur votre machine:

telnet 127.0.0.1 7077
Max Mustermann
la source
1

Nous avons rencontré cette même erreur en essayant de déboguer la raison pour laquelle l'envoi d'e-mails (via le code Python) à partir d'un hôte échouait. Il s'est avéré que la file d'attente de messagerie sur le serveur de messagerie était saturée pour cet hôte particulier.

pdp
la source