Hadoop(4-2) Exception inthread “main“ java

at org.apache.hadoop.hdfs.DistributedFileSystem 24. d o C a l l ( D i s t r i b u t e d F i l e S y s t e m . j a v a : 1185 )     a t o r g . a p a c h e . h a d o o p . f s . F i l e S y s t e m L i n k R e s o l v e r . r e s o l v e ( F i l e S y s t e m L i n k R e s o l v e r . j a v a : 81 )     a t o r g . a p a c h e . h a d o o p . h d f s . D i s t r i b u t e d F i l e S y s t e m . l i s t S t a t u s ( D i s t r i b u t e d F i l e S y s t e m . j a v a : 1195 )     a t o r g . a p a c h e . h a d o o p . f s . F i l e S y s t e m . l i s t S t a t u s ( F i l e S y s t e m . j a v a : 2078 )     a t o r g . a p a c h e . h a d o o p . f s . F i l e S y s t e m . l i s t S t a t u s ( F i l e S y s t e m . j a v a : 2122 )     a t M e r g e F i l e . d o M e r g e ( M e r g e F i l e . j a v a : 39 )     a t M e r g e F i l e . m a i n ( M e r g e F i l e . j a v a : 65 ) C a u s e d b y : j a v a . n e t . C o n n e c t E x c e p t i o n : C o n n e c t i o n r e f u s e d     a t j a v a . b a s e / s u n . n i o . c h . S o c k e t C h a n n e l I m p l . c h e c k C o n n e c t ( N a t i v e M e t h o d )     a t j a v a . b a s e / s u n . n i o . c h . S o c k e t C h a n n e l I m p l . f i n i s h C o n n e c t ( S o c k e t C h a n n e l I m p l . j a v a : 777 )     a t o r g . a p a c h e . h a d o o p . n e t . S o c k e t I O W i t h T i m e o u t . c o n n e c t ( S o c k e t I O W i t h T i m e o u t . j a v a : 205 )     a t o r g . a p a c h e . h a d o o p . n e t . N e t U t i l s . c o n n e c t ( N e t U t i l s . j a v a : 600 )     a t o r g . a p a c h e . h a d o o p . i p c . C l i e n t 24.doCall(DistributedFileSystem.java:1185)     at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)     at org.apache.hadoop.hdfs.DistributedFileSystem.listStatus(DistributedFileSystem.java:1195)     at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:2078)     at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:2122)     at MergeFile.doMerge(MergeFile.java:39)     at MergeFile.main(MergeFile.java:65) Caused by: java.net.ConnectException: Connection refused     at java.base/sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)     at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:777)     at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:205)     at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:600)     at org.apache.hadoop.ipc.Client 24.doCall(DistributedFileSystem.java:1185)   atorg.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)   atorg.apache.hadoop.hdfs.DistributedFileSystem.listStatus(DistributedFileSystem.java:1195)   atorg.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:2078)   atorg.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:2122)   atMergeFile.doMerge(MergeFile.java:39)   atMergeFile.main(MergeFile.java:65)Causedby:java.net.ConnectException:Connectionrefused   atjava.base/sun.nio.ch.SocketChannelImpl.checkConnect(NativeMethod)   atjava.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:777)   atorg.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:205)   atorg.apache.hadoop.net.NetUtils.connect(NetUtils.java:600)   atorg.apache.hadoop.ipc.ClientConnection.setupConnection(Client.java:652)
    at org.apache.hadoop.ipc.Client C o n n e c t i o n . s e t u p I O s t r e a m s ( C l i e n t . j a v a : 773 )     a t o r g . a p a c h e . h a d o o p . i p c . C l i e n t Connection.setupIOstreams(Client.java:773)     at org.apache.hadoop.ipc.Client Connection.setupIOstreams(Client.java:773)   atorg.apache.hadoop.ipc.ClientConnection.access$3800(Client.java:347)
    at org.apache.hadoop.ipc.Client.getConnection(Client.java:1632)
    at org.apache.hadoop.ipc.Client.call(Client.java:1457)

namenode格式化正常,集群启动一切正常的情况下,在使用IDEA执行HDFS时间却出现上面的错误。

集群启动的方法可以参考 Hadoop(02) Hadoop-3.3.6 集群的配置教程 Hadoop-3.3.6 集群的配置教程") 中第五小节中的集群启动部分。

最后可以使用jps查看服务是否都启动成功了。

解决思路

方法一

hadoop jar /usr/local/hadoop-3.3.6/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar pi 5 10

说明:命令运行了一个名为"pi"的示例作业,用于计算Pi的近似值。作业参数为5和10,表示将使用5个Mapper和每个Mapper处理10个样本。

如果这一步有问题,可以参考资料: hadoop运行程序时报错java.net.ConnectException: java.net.ConnectException: 拒绝连接;_hadoop connectexception: call from n01/192.168.3.1-CSDN博客

来解决。

方法二

执行代码:

hadoop fs -ls hdfs://localhost:9000

发现和IDEA控制台中同样地报错信息。

查看9000端口的监听地址:

netstat -anp | grep 9000

发现端口监听IP为192.168.30.134,是服务器(虚拟主机hadoop01)的IP,再查看下core-site.xml

cd /usr/local/hadoop-3.3.6/etc/hadoop/
cat core-site.xml

配置文件里面HDFS主机IP是hadoop01而不是127.0.0.1(localhost),所以当我们访问127.0.0.1:9000的时候会被拒绝,因为我们在做映射文件的时候hadoop01 对应的是192.168.30.134,而 localhost 对应的是 127.0.0.1,所以当我们访问localhost:9000时,会被拒绝。

解决方法

将代码中的 localhost 改为 hadoop01

或者 将配置文件core-site.xml 中的fs.defaultFS参数改成hdfs://127.0.0.1:9000,重启hdfs即可。

注:修改成127.0.0.1以后,只允许本机访问,如果需要全网访问,需要改成hdfs://0.0.0.0:9000

参考资料

hadoop运行程序时报错java.net.ConnectException: java.net.ConnectException: 拒绝连接;_hadoop connectexception: call from n01/192.168.3.1-CSDN博客

总结

这份面试题几乎包含了他在一年内遇到的所有面试题以及答案,甚至包括面试中的细节对话以及语录,可谓是细节到极致,甚至简历优化和怎么投简历更容易得到面试机会也包括在内!也包括教你怎么去获得一些大厂,比如阿里,腾讯的内推名额!

某位名人说过成功是靠99%的汗水和1%的机遇得到的,而你想获得那1%的机遇你首先就得付出99%的汗水!你只有朝着你的目标一步一步坚持不懈的走下去你才能有机会获得成功!

成功只会留给那些有准备的人!

了解详情https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB
标一步一步坚持不懈的走下去你才能有机会获得成功!

成功只会留给那些有准备的人!

[外链图片转存中…(img-cPQm1meu-1724215635614)]

了解详情https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值