我正在运行两个 docker 容器,一个用于 hadoop 基本服务,另一个用于 flume。服务运行成功。我链接了两个容器,环境变量已由 docker 自动成功设置。
1.2.3.4 7ab4ffb30dc0
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
这是我的 Hadoop 的 /etc/hosts 文件。当我运行
hadoop fs -ls /
hadoop fs -ls hdfs://127.0.0.1:8020/
运行良好。但如果我运行
hostname
它返回 7ab4ffb30dc0
所以我尝试了
hadoop fs -ls hdfs://1.2.3.4:8020/
它说从 7ab4ffb30dc0/1.2.3.4 到 7ab4ffb30dc0:8020 的调用因连接异常而失败:java.net.ConnectException:连接被拒绝;有关更多详细信息,请参见:http://wiki.apache.org/hadoop/ConnectionRefused
有什么建议么?
你好,我是从那个网站学到的
这些是我学到的解决服务器故障问题的方向
telnet localhost
说connection refused
。它尝试连接到 127.0.0.1 和 0::
telnet feorar.org
正常运行,因此 telent 守护进程正在运行
telnet localhost 44444
说Trying ::1... Connected to localhost. Escape character is '^]'. Connection closed by foreign host.
但是
netstat -tna
说服务正在监听 :::44444
telnet localhost 25
有效。有一个针对端口 25 的条目。
我不明白 netstat -tna 输出的 localhost 下的 :::44444 和 ::1:25 有什么区别。有什么帮助吗?
答案1
我的建议是阅读所提供的信息。
java.net.ConnectException:连接被拒绝;
这通常意味着没有任何东西在监听指定的 IP:Port。
另请注意,提供此信息
这是第一行
如果在指定的地址有一台机器,但是没有程序监听客户端正在使用的特定 TCP 端口,并且也没有防火墙以静默方式丢弃 TCP 连接请求,那么您将收到 ConnectionRefused 异常。
有用的链接中还有更多信息,您应该阅读一下。