記錄一次讀取hdfs文件時出現的問題java.net.ConnectException: Connection refused


 

公司的hadoop集群是之前的同事搭建的,我(小白一個)在spark shell中讀取hdfs上的文件時,執行以下指令

>>> word=sc.textFile("hdfs://localhost:9000/user/hadoop/test.txt") >>> word.first()

報錯:java.net.ConnectException: Call From hadoop/133.0.123.130 to localhost:9000 failed on connection exception: java.net.ConnectException: Connection refuse。看來是hdfs與本地服務器連接出了問題,我又查看了以下hdfs上的文件,發現可以正常查看,這說明本地服務器與hdfs的連接、通信是沒有問題的!思來想去,我有換另外一種方式讀取hdfs上的文件

>>> word=sc.textFile("/user/hadoop/test.txt") >>> word.first()

因為spark中默認讀取的就是hdfs上的文件,因此這種方式也是可以的,結果發現運行正常,這下問題就明了了,是“localhost:9000”出了問題,我查看了hadoop/etc/core-site.xml中端口設置

顯示端口設置正常,那么應該是localhost對應的IP地址不對了!接着查看hosts文件,發現

發現localhost對應的IP地址與本地服務器IP地址不一致,終於找到原因了,我將讀取hdfs文件的指令更改為:

>>> word=sc.textFile("hdfs://hadoop:9000/user/hadoop/test.txt") >>> word.first()

結果正常了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM