完美解決python針對(duì)hdfs上傳和下載的問(wèn)題
當(dāng)我們使用python的hdfs包進(jìn)行上傳和下載文件的時(shí)候,總會(huì)出現(xiàn)如下問(wè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
其實(shí)這主要是由于沒(méi)有將各個(gè)集群節(jié)點(diǎn)的ip映射到/etc/hosts文件中
修改/etc/hosts文件,將各個(gè)集群節(jié)點(diǎn)ip映射加上即可,如博主所示
vim /etc/hosts192.168.20.174 hadoop04192.168.20.173 hadoop03192.168.20.172 hadoop02192.168.20.171 hadoop01
補(bǔ)充知識(shí):python上傳文件到hadoop異常問(wèn)題
使用庫(kù):pyhdfs
調(diào)用方法:
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é)點(diǎn),端口50070,當(dāng)調(diào)用copy_from_local()時(shí),name節(jié)點(diǎn)會(huì)主動(dòng)去連接data節(jié)點(diǎn)進(jìn)行數(shù)據(jù)讀寫(xiě)操作,而data節(jié)點(diǎn)端口50075沒(méi)有開(kāi)啟,造成data節(jié)點(diǎn)連接超時(shí),拋出異常
解決辦法:開(kāi)啟data節(jié)點(diǎn)端口
以上這篇完美解決python針對(duì)hdfs上傳和下載的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 利用單元測(cè)試對(duì)PHP代碼進(jìn)行檢查2. python如何實(shí)現(xiàn)word批量轉(zhuǎn)HTML3. python excel和yaml文件的讀取封裝4. moment轉(zhuǎn)化時(shí)間戳出現(xiàn)Invalid Date的問(wèn)題及解決5. python爬蟲(chóng)實(shí)戰(zhàn)之制作屬于自己的一個(gè)IP代理模塊6. python3實(shí)現(xiàn)往mysql中插入datetime類(lèi)型的數(shù)據(jù)7. Java8內(nèi)存模型PermGen Metaspace實(shí)例解析8. 如何對(duì)php程序中的常見(jiàn)漏洞進(jìn)行攻擊9. js獲取今天、昨天、明天的日期函數(shù)代碼10. Python 實(shí)現(xiàn)二叉查找樹(shù)的示例代碼
