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

Posted hgz-dm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记录一次读取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()
技术图片

结果正常了。

 

以上是关于记录一次读取hdfs文件时出现的问题java.net.ConnectException: Connection refused的主要内容,如果未能解决你的问题,请参考以下文章

Python:读取Excel表格时出现的u'u51c6’ 无法正确显示汉字

关于JQuery中get()方法请求php文件时出现的问题

ubuntu 16.4下hadoop配置伪分布式时出现的坑

eclipse开发mapreduce程序时出现的问题

HDFS详解

HDFS详解