记一次hadoop Connection refused: no further information排错

记一次hadoop Connection refused: no further information排错

在研究hadoop的hdfs,用本地java api远程调用hdfs时出现了连接被拒绝的问题

解决方案

下面的排错步骤,是建立在hadoop的服务端防火墙关闭的情况下(这点注意一下!)

第一步

1.查看你的hadoop Api提供的地址 + 端口!
如何查看正确的地址呢?
打开你的hadoop家目录!然后进入etc/hadoop比如我的就是:/usr/local/hadoop
然后查看core-site.xml:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:8020</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/hadoop/tmp</value>
    </property>
</configuration>1

其中第一个property的fs.defalutFS节点下的value,便是你本地api调用的地址加端口!

第二步

在hadoop的服务端调用如下命令,检查是否打开:

telnet 192.168.1.102 8020

若看到如下文本,说明服务端是没有问题的!

Trying 192.168.1.102…
Connected to test (192.168.1.102).
Escape character is ‘^]’.
Connection closed by foreign host.

在本地的windows端,检查客户端是否可以调通服务端ip端口:
tips:windows下的cmd命令中,调用telnet 是需要单独开启服务端,默认系统telnet命令在cmd中是调用是找不到的!
打开windows—–telnet服务链接教程:链接: https://jingyan.baidu.com/article/3ea51489ba79e252e61bba97.html .

telnet 192.168.1.102 80201

执行完毕,如果你看到的是跳入一个黑框,什么内容也没有,说明客户端也是可以调通服务端的!!!

第三步

想了想,为什么会网络被拒绝呢!无非就是找不到服务端的ip地址!!为什么找不到呢!!!
再来看下hadoop服务端的核心配置文件!

然后查看core-site.xml:

> <configuration>
>     <property>
>         <name>fs.defaultFS</name>
>         <value>hdfs://Master:9000</value>
>     </property>
>     <property>
>         <name>hadoop.tmp.dir</name>
>         <value>/hadoop/tmp</value>
>     </property> </configuration>

hdfs://Master:9000:是对外访问的api调用的路径,可将Master换成ip地址,切记不可为localhost,外部请求是不识别的!

外界代码api再次访问:即成功
在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值