是什么导致这个错误?

Gib*_*bbs -6 ip host hadoop docker

我正在运行两个 docker 容器,一个用于 hadoop 基本服务,另一个用于水槽。服务运行成功。我链接了两个容器 env 变量是由 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
Run Code Online (Sandbox Code Playgroud)

这是我用于 hadoop 的 /etc/hosts 文件。当我跑

hadoop fs -ls /
hadoop fs -ls hdfs://127.0.0.1:8020/
Run Code Online (Sandbox Code Playgroud)

工作正常。但如果我跑

hostname
Run Code Online (Sandbox Code Playgroud)

它返回 7ab4ffb30dc0

所以我试过了

hadoop fs -ls hdfs://1.2.3.4:8020/
Run Code Online (Sandbox Code Playgroud)

它说 Call From 7ab4ffb30dc0/1.2.3.4 to 7ab4ffb30dc0:8020 failed on connection exception: java.net.ConnectException: Connection denied; 有关更多详细信息,请参阅:http : //wiki.apache.org/hadoop/ConnectionRefused

有什么建议?

你好,我是从那个网站学到的

这些是我学习解决服务器故障问题的方向

  telnet localhost
Run Code Online (Sandbox Code Playgroud)

connection refused。它试图连接到 127.0.0.1 和 0::

  telnet feorar.org
Run Code Online (Sandbox Code Playgroud)

工作,所以telent守护进程正在运行

  telnet localhost 44444
Run Code Online (Sandbox Code Playgroud)

Trying ::1... Connected to localhost. Escape character is '^]'. Connection closed by foreign host. 但是

  netstat -tna
Run Code Online (Sandbox Code Playgroud)

说服务正在侦听 :::44444

  telnet localhost 25
Run Code Online (Sandbox Code Playgroud)

作品。有一个端口 25 的条目。

我不明白 ::44444 和 ::1:25 在 netstat -tna 输出的本地主机下有什么区别。有什么帮助吗?

use*_*517 6

我的建议是阅读提供的信息。

java.net.ConnectException: 连接被拒绝;

这通常意味着没有在指定的 IP:Port 上侦听。

另请注意,提供了此信息

http://wiki.apache.org/hadoop/ConnectionRefused

这是第一行

当指定地址有一台机器时,您会收到 ConnectionRefused 异常,但没有程序侦听客户端正在使用的特定 TCP 端口 - 并且没有防火墙以静默方式丢弃 TCP 连接请求。

有用的链接中也有更多信息,您应该阅读它。

在浪费互联网时间之前,请先阅读所提供的信息。