telnet - "Verbindung durch fremden Host geschlossen"

21

Ich möchte einen Apache Spark-Cluster einrichten, kann jedoch nicht vom Worker-Computer zum Master-Computer an Port 7077 (auf dem der Spark-Master ausgeführt wird) kommunizieren.

Also habe ich versucht, telnetden Master von der Worker-Maschine aus zu erreichen, und das sehe ich:

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

Der Befehl wurde sofort mit "Verbindung vom fremden Host geschlossen" abgebrochen. Es gibt kein Timeout oder so.

Ich habe überprüft, ob der Host den Port telnetabhört, und da die Ausgabe "Connected to spark" anzeigt. - Dies bedeutet auch, dass die Verbindung erfolgreich ist.

Was könnte der Grund für ein solches Verhalten sein? Ich frage mich, ob dieses Schließen der Verbindung der Grund sein könnte, warum ich nicht in der Lage bin, vom Arbeitsplatzrechner aus mit dem Master zu kommunizieren.

Mor Eru
quelle
Ermöglicht Ihr Telnet-Port (23) den Zugriff auf die iptables on spark?
Ryekayo
iptables on spark ist leer. Die Richtlinie gilt für INPUT-, FORWARD- und OUTPUT-Ketten
Mor Eru

Antworten:

15

Der Prozess, der auf Verbindungen an Port 7077 wartet, akzeptiert die Verbindung und schließt sie sofort. Das Problem liegt irgendwo im Code oder in der Konfiguration dieser Anwendung, nicht im System.

John
quelle
Es könnte also kein Problem mit der Verbindung geben und vielleicht verhält sich die Anwendung so? Ich bin neu bei Apache Spark und weiß nicht, ob dies das erwartete Verhalten ist !!!
Mor Eru
2
Ich bezweifle, dass sich die Anwendung so verhält. Informationen zum Debuggen der Konfiguration finden Sie in der Apache Spark-Dokumentation und auf den Support-Sites.
John
5

Ich habe gerade von einem merkwürdigen Verhalten bei einigen virtuellen Servern erfahren, insbesondere bei denen, auf denen NAT ausgeführt wird. Sie stellen eine Verbindung zu dem Anschluss her, der vom virtuellen Server nach außen freigegeben wird. Der Server versucht dann, die Verbindung an ein Ziel weiterzuleiten. das Ziel lehnt ab. Das NAT wird also Ihre Verbindung ohne irgendeine Nachricht schließen. Zieh dir die Haare aus und versuche herauszufinden, was los ist. Dies ist sehr ähnlich zu der vorherigen Antwort; Die Quelle ist die Interaktion im virtuellen Host selbst.

Die wahrscheinlichste Ursache ist, dass jemand den Port verwendet und die ausgeführte Anwendung jeweils nur eine Verbindung akzeptiert und zusätzliche Verbindungen ablehnt.

Stephen Satchell
quelle
Dieser Fehler ist auch bei einem externen SFTP-Server aufgetreten. Wir haben beim Dienstanbieter nachgefragt, und er hat alle Einschränkungen für Ports sowie andere Konfigurationsregeln, die möglicherweise absichtlich gelten, ausgeschlossen. Dieses Problem tritt zeitweise bei einem geplanten Auftrag auf, der einmal pro Stunde während der Geschäftszeiten vom Remote-Host abgerufen wird. Bisher scheinen sie mit Ihnen übereinzustimmen, dass die Verbindung akzeptiert wird, aber der virtuelle Host die Verbindung vorübergehend ablehnt.
JE Carter II
2

Die Anwendung unterliegt Richtlinieneinschränkungen, um eine Verbindung nur über localhost herzustellen. Gleiches "Problem" mit Elasticsearch. Sie können Ihre App-Konfiguration überprüfen oder einen Tunnel erstellen. Machen

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

dann auf deinem Rechner:

telnet 127.0.0.1 7077
Max Mustermann
quelle
1

Wir sind auf genau diesen Fehler gestoßen, als wir versucht haben zu debuggen, warum das Senden von E-Mails (über Python-Code) von einem Host fehlgeschlagen ist. Es stellte sich heraus, dass die Mail-Warteschlange auf dem Mail-Server für diesen bestimmten Host voll ist.

pdp
quelle