完美解決python針對hdfs上傳和下載的問題
當我們使用python的hdfs包進行上傳和下載文件的時候,總會出現(xiàn)如下問題
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
其實這主要是由于沒有將各個集群節(jié)點的ip映射到/etc/hosts文件中
修改/etc/hosts文件,將各個集群節(jié)點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()
異常現(xiàn)象1如下圖:

異常現(xiàn)象2如下圖:

異常現(xiàn)象3如下圖:

原因分析:可以看出,以上都是連接成功了,但是上傳或者下載失敗了,造成這種現(xiàn)象的原因是
我這里連接的是name節(jié)點,端口50070,當調用copy_from_local()時,name節(jié)點會主動去連接data節(jié)點進行數(shù)據(jù)讀寫操作,而data節(jié)點端口50075沒有開啟,造成data節(jié)點連接超時,拋出異常
解決辦法:開啟data節(jié)點端口
以上這篇完美解決python針對hdfs上傳和下載的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章:
1. Spring Boot和Thymeleaf整合結合JPA實現(xiàn)分頁效果(實例代碼)2. 詳解Android studio 動態(tài)fragment的用法3. 圖文詳解vue中proto文件的函數(shù)調用4. 解決Android studio xml界面無法預覽問題5. php模擬實現(xiàn)斗地主發(fā)牌6. 什么是python的自省7. vue 使用localstorage實現(xiàn)面包屑的操作8. Vue封裝一個TodoList的案例與瀏覽器本地緩存的應用實現(xiàn)9. Vuex localStorage的具體使用10. .Net Core使用Coravel實現(xiàn)任務調度的完整步驟

網公網安備