2019独角兽企业重金招聘Python工程师标准>>>

在虚拟机部署hadoop的HDFS系统,在centos系统中敲各种操作命令,对文件读取、上传、删除等都没什么问题。但用JAVA写了代码去操作HDFS文件时,出现奇怪的现象:

代码写是写到获取fileSystem对象:

Configuration configuration=new Configuration();
FileSystem fileSystem=FileSystem.get(configuration);

报了以下异常现象:

Exception in thread "main" java.net.ConnectException: Call From DESKTOP-1A7JSVH/192.168.139.1 to hadoop.node.master:8020 failed on connection exception: java.net.ConnectException: Connection refused: no further information; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:783)
    at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:730)
    at org.apache.hadoop.ipc.Client.call(Client.java:1415)
    at org.apache.hadoop.ipc.Client.call(Client.java:1364)
    at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:206)
    at com.sun.proxy.$Proxy14.getBlockLocations(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:187)
    at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)
    at com.sun.proxy.$Proxy14.getBlockLocations(Unknown Source)
    at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getBlockLocations(ClientNamenodeProtocolTranslatorPB.java:225)
    at org.apache.hadoop.hdfs.DFSClient.callGetBlockLocations(DFSClient.java:1165)
    at org.apache.hadoop.hdfs.DFSClient.getLocatedBlocks(DFSClient.java:1155)
    at org.apache.hadoop.hdfs.DFSClient.getLocatedBlocks(DFSClient.java:1145)
    at org.apache.hadoop.hdfs.DFSInputStream.fetchLocatedBlocksAndGetLastBlockLength(DFSInputStream.java:268)
    at org.apache.hadoop.hdfs.DFSInputStream.openInfo(DFSInputStream.java:235)
    at org.apache.hadoop.hdfs.DFSInputStream.<init>(DFSInputStream.java:228)
    at org.apache.hadoop.hdfs.DFSClient.open(DFSClient.java:1318)
    at org.apache.hadoop.hdfs.DistributedFileSystem$3.doCall(DistributedFileSystem.java:293)
    at org.apache.hadoop.hdfs.DistributedFileSystem$3.doCall(DistributedFileSystem.java:289)
    at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
    at org.apache.hadoop.hdfs.DistributedFileSystem.open(DistributedFileSystem.java:289)
    at org.apache.hadoop.fs.FileSystem.open(FileSystem.java:764)
    at com.my.hadoop.HadoopTest.main(HadoopTest.java:28)
Caused by: java.net.ConnectException: Connection refused: no further information
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739)
    at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
    at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:529)
    at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:493)
    at org.apache.hadoop.ipc.Client$Connection.setupConnection(Client.java:606)
    at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:700)
    at org.apache.hadoop.ipc.Client$Connection.access$2800(Client.java:367)
    at org.apache.hadoop.ipc.Client.getConnection(Client.java:1463)
    at org.apache.hadoop.ipc.Client.call(Client.java:1382)
    ... 24 more

检查过程如下:

       一开始以为HDFS的8020服务端口,在虚拟机服务器上敲了netstat -ntlp | grep 8020,出现如下结果 :

         tcp        0      0 127.0.0.1:8020          0.0.0.0:*               LISTEN      4753/java  

       服务端口正常,防火墙也已经关闭,何况打开http://hadoop.node.master:50070显示HDFS服务也正常,一时摸不着头脑。

      最后,分析了一下netstat命令的结果,里面显示的是127.0.0.1,感觉8020端口绑定的是本地端口,有可能是这个原因引起,于是,敲vim /etc/hosts命令,

将127.0.0.1 hadoop.node.master改成192.168.139.130 hadoop.node.master

然后重启了namenode和datanode服务,然后运行上述java程序,居然正常了。

     

转载于:https://my.oschina.net/u/3771618/blog/1610751

JAVA程序连接hadoop HDFS服务报无法连接。相关推荐

  1. Hadoop HDFS启动报异常:We expected txid 130043, but got txid 229381

    目录 1. 背景 2. 解决办法 1. 背景 在服务器断电重启后,重新启动HDFS, 访问http://bigdata001:9870不能访问,而http://bigdata002:9870和http ...

  2. java操作hadoop hdfs,实现文件上传下载demo

    本文主要参考了Hadoop HDFS文件系统通过java FileSystem 实现上传下载等,并实际的做了一下验证.代码与引用的文章差别不大,现列出来作为备忘. import java.io.*; ...

  3. java共享文件夹SMB1服务报错jcifs.smb.SmbException: Failed to connect: 0.0.0.0<00>/122.168.23.26

    java共享文件处理 两台电脑,其中一台开启共享文件(局域网环境).利用jcifs-1.3.19.jar包. String ip = "192.168.1.58";String u ...

  4. Atittit HDFS hadoop 大数据文件系统java使用总结 目录 1. 操作系统,进行操作 1 2. Hdfs 类似nfs ftp远程分布式文件服务 2 3. 启动hdfs服务start

    Atittit HDFS hadoop 大数据文件系统java使用总结 目录 1. 操作系统,进行操作 1 2. Hdfs 类似nfs ftp远程分布式文件服务 2 3. 启动hdfs服务start- ...

  5. 用eclips连hadoop报Unknown protocol to job tracker: org.apache.hadoop.hdfs.protocol.ClientProtoco

    win7上开发hadoop 在eclips连接hadoop时,报Unknown protocol to job tracker: org.apache.hadoop.hdfs.protocol.Cli ...

  6. 【Hadoop/Java】基于HDFS的Java Web网络云盘

    [Hadoop/Java]基于HDFS的Java Web网络云盘 本人BNUZ大学生萌新,水平不足,还请各位多多指教! 实验目的 熟悉HDFS Java API的使用: 能使用HDFS Java AP ...

  7. JAVA怎么连接华为的HDFS系统_Java使用连接池管理Hdfs连接

    记录一下Java API 连接hadoop操作hdfs的实现流程(使用连接池管理). 以前做过这方面的开发,本来以为不会有什么问题,但是做的还是坑坑巴巴,内心有些懊恼,记录下这烦人的过程,警示自己切莫 ...

  8. BigData:大数据开发的简介、核心知识(linux基础+Java/Python编程语言+Hadoop{HDFS、HBase、Hive}+Docker)、经典场景应用之详细攻略

    BigData:大数据开发的简介.核心知识(linux基础+Java/Python编程语言+Hadoop{HDFS.HBase.Hive}+Docker).经典场景应用之详细攻略 BigData:大数 ...

  9. java连服务器mysql报错_tomcat程序连接服务器mysql数据库报错

    tomcat程序连接服务器mysql数据库,报 错误,后来用java程序直接连接数据库,发现可以连得上,可以操作数据库, 在网上查了设置数据库连接等待时间(wait_timeout)设置,也没用. 奇 ...

最新文章

  1. Why I Love My Virtual PCs
  2. Redis 一个key-value存储系统 简介
  3. lichee linux nfs,SPI Flash 系统编译
  4. linux之fail2ban之预防暴力破解
  5. Python模拟分析演员之间亲密程度
  6. android渲染是skia与egl,Huang_Dongsung
  7. 图片的色彩空间转换、简单色彩跟踪与通道分离、合并(三)
  8. 单片机 c语言百位加上小数点,51单片机水温控制LCD显示加VB上位机温度曲线绘制...
  9. python3的spyder安装_Python开发环境Spyder安装教程
  10. 5.8Gwifi串口服务器、485转wifi多功能串口转WIFI 、232转wifi、Modbus转RTU、工业自动化系统
  11. html面中select下拉框回显,select下拉框数据回显
  12. python学习——python平台搭建
  13. word中段落里面的选项“如果定义了文档网格,则对齐到网格”起什么作用?
  14. 用 justify-content 属性设置子元素两端对齐
  15. 关于intellij idea的
  16. idea debug 第二次进不去断点问题
  17. goland 左右分屏_vim分屏功能 - 米扑博客
  18. 远程服务器返回urlto龙,,一个简单的Get请求 老是出现【远程服务器返回异常:501】错误...
  19. 修改linux屏幕大小,在Linux Mint上更改屏幕分辨率
  20. C/S、B/S与RIA

热门文章

  1. 【作死】更新macOS Mojave后Vagrant无法使用
  2. Linux下实现多网卡绑定
  3. Node HTTP/2 Server Push 从了解到放弃
  4. 回顾以前的线程安全的类
  5. svn 413 Request Entity Too Large 错误
  6. 怎样使windows上的javaWEB项目公布到Centos上
  7. 计算机组成原理学习笔记(一)
  8. PHP put提交和获取数据
  9. windows下常查看端口占用方法总结
  10. beangle commons 4.0.0 release