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
参考资料
总结
这份面试题几乎包含了他在一年内遇到的所有面试题以及答案,甚至包括面试中的细节对话以及语录,可谓是细节到极致,甚至简历优化和怎么投简历更容易得到面试机会也包括在内!也包括教你怎么去获得一些大厂,比如阿里,腾讯的内推名额!
某位名人说过成功是靠99%的汗水和1%的机遇得到的,而你想获得那1%的机遇你首先就得付出99%的汗水!你只有朝着你的目标一步一步坚持不懈的走下去你才能有机会获得成功!
成功只会留给那些有准备的人!
了解详情https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB
标一步一步坚持不懈的走下去你才能有机会获得成功!
成功只会留给那些有准备的人!
[外链图片转存中…(img-cPQm1meu-1724215635614)]
了解详情https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB