JavaAPI操作HDFS文件系统报错,Connection refused

  • Post author:
  • Post category:java


原料:客户端WIN10,IDAE;服务端CentOS6.9;

在WIN10系统下使用IDEA操作部HDFS系统时报错java.net.ConnectException:Connection refused:no,我们要首先检查以下设置是否正确(具体每一步不正确的解决方案在后边):

1.虚拟机的防火墙需要关闭

2.虚拟机和物理机需要互相ping通。

3.虚拟机HDFS的Hadoop目录下的etc/hadoop/core-site.xml配置正确

4.物理机C:\Windows\System32\drivers\etc\hosts需要配置虚拟机ip和主机名的映射

在以上几步均正确的情况下,依然报错,那么检查下虚拟机的主机名是不是localhost(我当时把localhost改成hadoop之后问题解决),如果是的话,建议换成别的,但是这个问题我也没办法解释。我是从这篇网志中找到的思路,

感谢

解决这个问题是个漫长的过程,踩过很多坑,现在想想有好几次都在解决问题的边缘徘徊。不过对于一个没接触过Linux系统的人来说也是件好事,这让我在百度的过程中熟悉了一些操作,比如说如何关闭防火墙…现在,我可以静下来,以时间为顺序,从头梳理我的踩坑之路,纪念我修bug的美好假期,也希望可以对你有所帮助。

1.

CentOS6.9系统主机名变成bogon,改回localhost

2.

CentOS6.9系统关闭防火墙

3.

主机能ping通主机,但是虚拟机不能ping通主机。

4.

虚拟机和主机互相不能ping通

在爆出java.net.ConnectException:Connection refused:no的时候,我对HDFS的配置还有虚拟机网络的配置一无所知,只能到处排查是哪个方向的问题。或许是HDFS配置问题,或许是网络问题。我找了无数的博客,请教了三个学习方向的人,有比赛的搭档,有网络安全实验室的人,也有单片机的大神。对于一个刚开始学习大数据的人来说,JavaAPI控制HDFS这个问题解决不了好像我就学不了下边的东西。

在我日常解决bug的一天里三个大神说帮我远程,是我最感动的一天。


感谢大佬们的帮助,感谢对我不离不弃的搭档,让我有机会来对这个bug做个总结,十分感动。



版权声明:本文为w_j_r原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。