完美解決python針對(duì)hdfs上傳和下載的問題
當(dāng)我們使用python的hdfs包進(jìn)行上傳和下載文件的時(shí)候,總會(huì)出現(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
其實(shí)這主要是由于沒有將各個(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異常問題
使用庫: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ù)讀寫操作,而data節(jié)點(diǎn)端口50075沒有開啟,造成data節(jié)點(diǎn)連接超時(shí),拋出異常
解決辦法:開啟data節(jié)點(diǎn)端口
以上這篇完美解決python針對(duì)hdfs上傳和下載的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 利用CSS3新特性創(chuàng)建透明邊框三角2. phpstudy apache開啟ssi使用詳解3. xml中的空格之完全解說4. ASP.NET Core實(shí)現(xiàn)中間件的幾種方式5. XML解析錯(cuò)誤:未組織好 的解決辦法6. phpstorm斷點(diǎn)調(diào)試方法圖文詳解7. JavaScrip簡單數(shù)據(jù)類型隱式轉(zhuǎn)換的實(shí)現(xiàn)8. CSS可以做的幾個(gè)令你嘆為觀止的實(shí)例分享9. asp讀取xml文件和記數(shù)10. 在JSP中使用formatNumber控制要顯示的小數(shù)位數(shù)方法
