记录一次读取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()

结果正常了。

原文地址:https://www.cnblogs.com/hgz-dm/p/11356357.html

时间: 2024-10-17 10:02:38

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

Android开发—错误记录1:W/System.err: java.net.ConnectException: Connection refused

W/System.err: java.net.ConnectException: Connection refused 前台访问后台时,出现访问被拒绝情况:W/System.err: java.net.ConnectException: Connection refused 问题出在HttpURLConnection的URL上面,测试三种url"localhost:8008/……""127.0.0.1:8008/……""后台所在的服务器的IP地址IP:80

【 D3.js 进阶系列 — 1.2 】 读取 CSV 文件时乱码的解决方法

在 D3 中使用 d3.csv 读取 CSV 文件时,有时会出现乱码问题.怎么解决呢? 1. 乱码问题 使用 d3.csv 读取 xxx.csv 文件时,如果 xxx.csv 文件使用的是 UTF-8 编码,不会有什么问题.当然,个人认为尽量使用 UTF-8 编码,可以在同一编码内使用各国文字. 但是,如果 xxx.csv 文件使用的是 utf-8 编码,使用 Microsoft Excel 打开的时候,可能会出现乱码,因为国内的 Excel 默认使用 GB2312 打开,而且在打开的时候不能选

spring使用@Value注解读取.properties文件时出现中文乱码问题的解决

解决办法 在spring中我们常常使用.properties对一些属性进行一个提前配置, spring 在读取*.properties文件时, 默认使用的是asci码, 这时 我们需要对其编码进行转换. 下面列举两种常见的方法. 方法一:在配置spring.xml文件时,声明所需的∗.properties文件时直接使用"utf−8"编码 <context:property-placeholder location="classpath:conf/*.properties

使用OpenCV的VideoCapture 读取.mp4文件时出现以下错误:Unable to stop the stream: Inappropriate ioctl for device

使用OpenCV的VideoCapture 读取.mp4文件时出现以下错误:Unable to stop the stream: Inappropriate ioctl for device 此问题由于未安装ffmpeg导致. sudo apt-get install ffmpeg 重新编译opecv即可. cd xx/opecv/build rm -rf * cmake ../                                //执行cmake ../后打印信息中video I/

Java程序中读取外部文件时的路径问题

转自:https://www.cnblogs.com/wt20/p/8320346.html 项目经常会读取一些配置文件, 因此getResource方法便能够起到重要作用 使用时主要是两种方法, 一个是字节码文件Class类, 另一个是ClassLoader类加载器 使用Class类时有两种使用方式: 1. 使用"/"  获取到的是classpath路径 2. 不使用"/" 这就是相对路径 ClassLoader类 没有"/"的写法, 获取到的

解决使用{freopen与 getline}读取不同文件时产生的的问题

读取单一文件 使用 freopen重定向. 用 getline逐行读取,处理. #include <iostream> #include <cstdio> #include <cstring> using namespace std; string s; int main() { freopen("text1.in", "r", stdin); while (getline(cin, s)) { /* - code - */ }

读取大文件时的优化经验

最近在编写一个关于图形学的东西时,由于需要读取模型,写了一个obj文件和mtl文件解析器.实际调试时,由于该文件较长,比如obj文件达到了20万行的量级,在解析时凸显出了各种性能问题,解决这些性能问题的同时,也总结出了一些经验,记录如下: 1 必须使用缓冲区.虽然操作系统实现读取文件应该是有缓冲区概念的,但是结果显示如果不使用缓冲区,而用fgetc挨个字符进行读取,速度会比使用缓冲区慢上1个数量级.因此,引出第一条经验:一切大文件读取必须使用缓冲区,减少fread或fgetc的次数. 2 关于m

java读取视频文件时长

1.下载jar包:http://www.sauronsoftware.it/projects/jave/index.php 2.上代码 1 @RequestMapping(value = "amendFile.htm", produces = "application/json;charset=UTF-8") 2 @ResponseBody 3 public String amendFile(MultipartFile file, HttpServletReques

java程序读取资源文件时路径如何指定

java程序,读取资源操作有两种方式. 一是直接通过File进行的.例如FileReader.BufferedReader等.文件目录就是相对于Project了.如我新建一个MyProject,那么,我在MyProject下有一个icons文件夹,如果想读取icons里面的东西,路径是诸如"icons/***.gif"的相对路径就可以了. 二是通过getClass().getResource("")得到.第二种方法必须保证文件是在classpath包括的路径下.而一