完美解決python針對hdfs上傳和下載的問題
當(dāng)我們使用python的hdfs包進(jìn)行上傳和下載文件的時候,總會出現(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é)點(diǎn)的ip映射到/etc/hosts文件中
修改/etc/hosts文件,將各個集群節(jié)點(diǎn)ip映射加上即可,如博主所示
vim /etc/hosts
192.168.20.174 hadoop04
192.168.20.173 hadoop03
192.168.20.172 hadoop02
192.168.20.171 hadoop01
補(bǔ)充知識:python上傳文件到hadoop異常問題
使用庫:pyhdfs
調(diào)用方法:
pyhdfs.HdfsClient(ip,port,user).copy_from_local()
pyhdfs.HdfsClient(ip,port,user).copy_to_local()
異常現(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()時,name節(jié)點(diǎn)會主動去連接data節(jié)點(diǎn)進(jìn)行數(shù)據(jù)讀寫操作,而data節(jié)點(diǎn)端口50075沒有開啟,造成data節(jié)點(diǎn)連接超時,拋出異常
解決辦法:開啟data節(jié)點(diǎn)端口
以上這篇完美解決python針對hdfs上傳和下載的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- Python select及selectors模塊概念用法詳解
- Python連接HDFS實現(xiàn)文件上傳下載及Pandas轉(zhuǎn)換文本文件到CSV操作
- Python selenium文件上傳下載功能代碼實例
- 基于python實現(xiàn)FTP文件上傳與下載操作(ftp&sftp協(xié)議)
- Python Socketserver實現(xiàn)FTP文件上傳下載代碼實例
- python3 requests庫文件上傳與下載實現(xiàn)詳解
- 使用Python操作FTP實現(xiàn)上傳和下載的方法
- python ftp 按目錄結(jié)構(gòu)上傳下載的實現(xiàn)代碼
- python實現(xiàn)上傳下載文件功能
- python實現(xiàn)的簡單FTP上傳下載文件實例
- python 基于selectors庫實現(xiàn)文件上傳與下載
相關(guān)文章
Ubuntu16.04 安裝多個python版本的問題及解決方法
Ubuntu16.04自帶python2.7與python3.5,Ubuntu 官方 apt 庫中還未收錄 python 3.8,因此添加 deadsnakes PPA 源安裝python3.8,否則會出現(xiàn)報錯,接下來通過本文給大家介紹Ubuntu16.04 安裝python的問題,一起看看吧2021-09-09Python PyQt5實戰(zhàn)項目之查詢器的實現(xiàn)流程詳解
PyQt5以一套Python模塊的形式來實現(xiàn)功能。它包含了超過620個類,600個方法和函數(shù)。它是一個多平臺的工具套件,它可以運(yùn)行在所有的主流操作系統(tǒng)中,包含Unix,Windows和Mac OS。PyQt5采用雙重許可模式。開發(fā)者可以在GPL和社區(qū)授權(quán)之間選擇2021-11-11NCCL深度學(xué)習(xí)Bootstrap網(wǎng)絡(luò)連接建立源碼解析
這篇文章主要為大家介紹了NCCL深度學(xué)習(xí)Bootstrap網(wǎng)絡(luò)連接建立源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04Python?中strip()函數(shù)詳細(xì)說明及使用方法
strip()函數(shù)是Python字符串方法之一,用于處理字符串的前導(dǎo)和尾隨空白字符,它返回一個新字符串,該字符串是原始字符串去除前導(dǎo)和尾隨空格(包括空格、制表符、換行符等)后的結(jié)果,這篇文章主要介紹了Python?中strip()函數(shù)詳細(xì)說明及使用方法,需要的朋友可以參考下2024-02-02淺談Python中函數(shù)的定義及其調(diào)用方法
今天小編就為大家分享一篇淺談Python中函數(shù)的定義及其調(diào)用方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07