记录一次读取hdfs文件时出现的问题java.net.ConnectException: Connection refused

 

公司的hadoop集群是之前的同事搭建的,我(小白一个)在spark shell中读取hdfs上的文件时,执行以下指令

>>> word=sc.textFile("hdfs://localhost:9000/user/hadoop/test.txt")
>>> word.first()

报错:java.net.ConnectException: Call From hadoop/133.0.123.130 to localhost:9000 failed on connection exception: java.net.ConnectException: Connection refuse。看来是hdfs与本地服务器连接出了问题,我又查看了以下hdfs上的文件,发现可以正常查看,这说明本地服务器与hdfs的连接、通信是没有问题的!思来想去,我有换另外一种方式读取hdfs上的文件

>>> word=sc.textFile("/user/hadoop/test.txt")
>>> word.first()

因为spark中默认读取的就是hdfs上的文件,因此这种方式也是可以的,结果发现运行正常,这下问题就明了了,是“localhost:9000”出了问题,我查看了hadoop/etc/core-site.xml中端口设置

显示端口设置正常,那么应该是localhost对应的IP地址不对了!接着查看hosts文件,发现

发现localhost对应的IP地址与本地服务器IP地址不一致,终于找到原因了,我将读取hdfs文件的指令更改为:

>>> word=sc.textFile("hdfs://hadoop:9000/user/hadoop/test.txt")
>>> word.first()

结果正常了。

 

posted @   hgz_dm  阅读(2402)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
点击右上角即可分享
微信分享提示