完美解決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()
異?,F(xiàn)象1如下圖:
異?,F(xiàn)象2如下圖:
異?,F(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沒(méi)有開啟,造成data節(jié)點(diǎn)連接超時(shí),拋出異常
解決辦法:開啟data節(jié)點(diǎn)端口
以上這篇完美解決python針對(duì)hdfs上傳和下載的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. nodejs報(bào)digital envelope routines::unsupported錯(cuò)誤的最新解決方法2. 匹配模式 - XSL教程 - 43. javascript xml xsl取值及數(shù)據(jù)修改第1/2頁(yè)4. 詳解JS前端使用迭代器和生成器原理及示例5. WML語(yǔ)法大全與相關(guān)介紹第1/3頁(yè)6. 詳解CSS偽元素的妙用單標(biāo)簽之美7. 使用css實(shí)現(xiàn)全兼容tooltip提示框8. asp中response.write("中文")或者js中文亂碼問(wèn)題9. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)10. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向
