telnet-“外部主机关闭了连接”


21

我想设置一个Apache Spark群集,但无法在工作端口7077(运行Spark Master的端口)上从工作计算机与主计算机进行通信。

因此,我尝试telnet从工作机上学习主机,这就是我所看到的:

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

该命令立即以“外部主机关闭连接”终止。它没有超时或任何东西。

我确认主机正在侦听端口,并且telnet输出显示“ Connected to spark”。—这也意味着连接成功。

发生这种行为的原因可能是什么?我想知道连接的关闭是否可能是我无法从工作计算机与主计算机进行通信的原因。


您的telnet端口(23)是否允许在Spark上访问iptables?
ryekayo 2015年

火花上的iptables是空的。政策是接受INPUT,FORWARD和OUTPUT链
莫尔鄂

Answers:


15

正在监听端口7077上的连接的进程正在接受连接,然后立即关闭连接。问题出在该应用程序的代码或配置中,而不是系统本身中。


因此,连接可能没有问题,也许这就是应用程序的行为方式?我是Apache Spark的新手,我不知道这是否是预期的行为!
Mor Eru

2
我怀疑应用程序应该如何运行。检查Apache Spark文档和支持站点以获取配置调试信息。
约翰

5

我刚刚了解到某些虚拟服务器的异常行为,尤其是那些运行NAT的虚拟服务器。您连接到虚拟服务器对外暴露的端口;然后,服务器尝试将连接转发到目标;目标拒绝。因此,NAT将关闭您的连接,不发送任何消息。拉出头发,试图找出正在发生的事情。这非常类似于先前的答案;源是虚拟主机本身中的交互。

最可能的原因是有人正在使用该端口,并且运行的应用程序一次仅接受一个连接,而拒绝任何其他连接。


外部SFTP服务器也遇到了此错误。我们已经咨询了服务提供商,他们排除了对端口的任何限制以及可能有意应用的任何其他配置规则。我们在工作时间内每小时从远程主机提取一次的计划作业中间歇性地看到此问题。到目前为止,他们似乎已经同意您接受该连接,但是虚拟主机暂时拒绝了该连接。
JE卡特二世

2

该应用程序具有策略限制,只能从本地主机连接。与elasticsearch相同的“问题”。您可以检查您的app-config或建立隧道。做

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

然后在您的机器上:

telnet 127.0.0.1 7077

1

当尝试调试从主机发送的电子邮件(通过Python代码)失败的原因时,我们遇到了这个错误。原来是由于该特定主机的邮件服务器上的邮件队列已满。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.