您的位置:首頁技術文章
文章詳情頁

完美解決python針對hdfs上傳和下載的問題

瀏覽:2日期:2022-07-22 15:07:09

當我們使用python的hdfs包進行上傳和下載文件的時候,總會出現如下問題

requests.packages.urllib3.exceptions.NewConnectionError:<requests.packages.urllib3.connection.HTTPConnection object at 0x7fe87cc37c50>: Failed to establish a new connection: [Errno -2] Name or service not known

其實這主要是由于沒有將各個集群節點的ip映射到/etc/hosts文件中

修改/etc/hosts文件,將各個集群節點ip映射加上即可,如博主所示

vim /etc/hosts192.168.20.174 hadoop04192.168.20.173 hadoop03192.168.20.172 hadoop02192.168.20.171 hadoop01

補充知識:python上傳文件到hadoop異常問題

使用庫:pyhdfs

調用方法:

pyhdfs.HdfsClient(ip,port,user).copy_from_local()

pyhdfs.HdfsClient(ip,port,user).copy_to_local()

異?,F象1如下圖:

完美解決python針對hdfs上傳和下載的問題

異?,F象2如下圖:

完美解決python針對hdfs上傳和下載的問題

異?,F象3如下圖:

完美解決python針對hdfs上傳和下載的問題

原因分析:可以看出,以上都是連接成功了,但是上傳或者下載失敗了,造成這種現象的原因是

我這里連接的是name節點,端口50070,當調用copy_from_local()時,name節點會主動去連接data節點進行數據讀寫操作,而data節點端口50075沒有開啟,造成data節點連接超時,拋出異常

解決辦法:開啟data節點端口

以上這篇完美解決python針對hdfs上傳和下載的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
国产综合久久一区二区三区