java.net.ConnectException: Call From xxx to localhost:8020 failed on connection exception: java.net.

踩坑记录!!!!
问题描述:
虚拟机上的linux固定IP后无法在物理机使用JAVA API连接HDFS,报错如下:

java.net.ConnectException: Call From xxx to localhost:8020 failed on connection exception: java.net.ConnectException: Connection refused

找教程瞎调了几次又变成这样:

Exception in thread “main” java.net.ConnectException: Call From DESKTOP-API5IFV/192.168.5.1 to hadoop:8020 failed on connection exception: java.net.ConnectException: Connection refused: no further information; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused

TNND
1.首先要确保linux的防火墙是关闭的,如何永久关闭防火墙查看我之前的博客
2.检查 core-site.xml确保是8020端口,并把名称改为你的IP地址

<configuration>
    <property>
        <value>hdfs://192.168.19.3:8020</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/japson/app/tmp</value>
    </property>
</configuration>

在这里插入图片描述
补充:连接成功了,若想使用你的主机名登录需要在物理机建立映射关系,linux系统同理。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意
如果要使用主机名需要:

  1. 确保物理上即windows上修改了hosts文件,主机名对应那个ip
  2. 修改虚拟机上的etc/hosts文件对应的主机名和ip关系如下:
    在这里插入图片描述
  3. hadoop的core-site.xml中涉及到localhost的改为主机名或者ip都行

有一个问题就是ip地址变化了,那么就需要改变2个地方:

1.java中的URI
2.hadoop的core-site.xml

发布了5 篇原创文章 · 获赞 3 · 访问量 346

猜你喜欢

转载自blog.csdn.net/weixin_42641465/article/details/104847319