hadoop fs-ls:从服务器/127.0.1.1调用localhost失败

v09wglhw  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(602)

我有 hadoop 以伪分布式模式安装。
运行命令时

hadoop fs -ls

我得到以下错误:

ls: Call From kali/127.0.1.1 to localhost:9000 failed on connection exception:
  java.net.ConnectException: Connection refused;
  For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused

有什么建议吗?

toe95027

toe950271#

如果您阅读了错误中的链接,我会看到两个需要立即解决的问题。
如果错误消息说远程服务在“127.0.0.1”或“localhost”上,则意味着配置文件正在告诉客户端该服务在本地服务器上。如果您的客户机正试图与远程系统通信,那么您的配置将被破坏。
您应该将伪分布式模式视为远程系统,即使它仅在本地运行。
对于hdfs,您可以将计算机主机名(最好是域的完整fqdn)作为hdfs地址放在core-site.xml中来解决这个问题。为了你的案子, hdfs://kali:9000 应该够了
检查中是否没有Map到127.0.0.1或127.0.1.1的主机名条目 /etc/hosts (ubuntu为此臭名昭著)。
我不完全确定为什么需要删除它,但我能想到的一般答案是hadoop是一个分布式系统,正如我提到的,将伪分布式模式视为远程hdfs服务器。因此,没有环回地址应该使用您的计算机主机名
例如,删除此

127.0.0.1 localhost
127.0.1.1 kali

或者从中删除主机名

127.0.0.1 localhost kali

最重要的是(强调)
这些都不是hadoop问题,而是hadoop、主机、网络和防火墙配置问题

相关问题