当前位置: 代码迷 >> 综合 >> hadoop master:10020 connection refused
  详细解决方案

hadoop master:10020 connection refused

热度:10   发布时间:2023-12-12 19:15:39.0

拒绝连接

当指定的地址有一台机器,但是没有程序监听客户端正在使用的特定TCP端口时,您会收到ConnectionRefused Exception,并且没有防火墙以静默方式丢弃TCP连接请求。如果您不知道TCP连接请求是什么,请参考规范

除非两端都有配置错误,否则一个常见的原因是Hadoop服务没有运行。

这个堆栈跟踪在集群关闭时非常常见,因为在那个时候,Hadoop服务正在整个集群中被拆除,而这些服务和应用程序本身并没有被关闭。在群集关闭期间看到这个错误消息是没有什么可担心的。

如果应用程序或集群不能正常工作,并且这条消息出现在日志中,那么情况会更严重。

异常文本声明连接失败的主机名和端口。该端口可以用来识别服务。例如,端口9000是HDFS端口。请参阅Ambari端口参考,和/或您的Hadoop管理工具供应商的参考

  1. 检查客户端使用的主机名是否正确。如果它在Hadoop配置选项中:仔细检查它,尝试手动执行ping操作。
  2. 检查客户端正在尝试与之通信的主机名是否正确。
  3. 确保异常中的目标地址不是0.0.0.0,这意味着你没有真正地为客户端配置该服务的实际地址,而是提取服务器端的属性,告诉它监听每个连接端口。
  4. 如果错误消息显示远程服务处于“127.0.0.1”或“localhost”状态,则表示配置文件正在告诉客户端该服务在本地服务器上。如果您的客户正在尝试与远程系统通话,则说明您的配置已损坏。
  5. 检查你的主机名是否在/ etc / hosts中映射到127.0.0.1或127.0.1.1 (Ubuntu是臭名昭着的)。

  6. 使用服务器提供的服务匹配来检查客户端正在尝试与之通话的端口。netstat的命令非常有用那里。

  7. 在服务器上,尝试使用telnet localhost <port>来查看端口是否在那里打开。

  8. 在客户端上,尝试使用telnet <server> <port>来查看端口是否可以远程访问。

  9. 尝试从不同的机器连接到服务器/端口,看看它是否只是单一的客户端行为不端。
  10. 如果您的客户端和服务器位于不同的子域中,则可能是该服务的配置仅发布基本主机名,而不是完全合格的域名。不同子域中的客户端可能会无意中尝试绑定到本地子域中的主机,并且失败。
  11. 如果您使用的是第三方提供的基于Hadoop的产品,请使用供应商提供的支持渠道。
  12. 请不要提交与您的问题有关的错误报告,因为它们将被关闭为无效

另请参阅服务器溢出

这些都不是Hadoop问题,它们是hadoop,主机,网络和防火墙配置问题。因为它是你的集群,只有你可以找出并追查问题。

  相关解决方案