我有 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
有什么建议吗?
1条答案
按热度按时间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服务器。因此,没有环回地址应该使用您的计算机主机名
例如,删除此
或者从中删除主机名
最重要的是(强调)
这些都不是hadoop问题,而是hadoop、主机、网络和防火墙配置问题