完美解決python針對hdfs上傳和下載的問題
當我們使用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()
異常現象1如下圖:
異常現象2如下圖:
異常現象3如下圖:
原因分析:可以看出,以上都是連接成功了,但是上傳或者下載失敗了,造成這種現象的原因是
我這里連接的是name節點,端口50070,當調用copy_from_local()時,name節點會主動去連接data節點進行數據讀寫操作,而data節點端口50075沒有開啟,造成data節點連接超時,拋出異常
解決辦法:開啟data節點端口
以上這篇完美解決python針對hdfs上傳和下載的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章:
1. python如何換行輸出2. Java 接口和抽象類的區別詳解3. Android Studio中一套代碼多渠道打包的實現方法4. python如何計算圓的面積5. Java使用Tesseract-Ocr識別數字6. Python:UserWarning:此模式具有匹配組。要實際獲得組,請使用str.extract7. Python使用urlretrieve實現直接遠程下載圖片的示例代碼8. Android打包篇:Android Studio將代碼打包成jar包教程9. 詳解java google Thumbnails 圖片處理10. 解決Android Studio 格式化 Format代碼快捷鍵問題
