2017-03-22 34 views
0

我想用Python模塊「HDFS」遠程上傳文件到我的HDFS。 我Hadoop是在我的Linux上運行,但我想遠程上傳文件,這在我的窗口(或其他計算機)。當我使用如下代碼:蟒蛇HDFS遠程上傳文件到HDFS

from hdfs import InsecureClient 
client = InsecureClient('http://xx.xx.xx.xx:50070', user='user') 

我可以用client.walk('/')查看迪爾斯,但我不能上傳文件,它引發錯誤,如:

requests.packages.urllib3.exceptions.NewConnectionError: <requests.packages.urllib3.connection.HTTPConnection object at 0x03256BB0>: Failed to establish a new connection: [Errno 10061] 

我認爲這是一個關於權限的問題,但我不知道如何解決它。 你能幫我嗎?

+0

要上載從其中執行'upload'必須在本地存在的文件。 – franklinsijo

+0

是的,我在窗口中執行「上傳」,並且要上傳的文件也在窗口中。 –

+0

我想'client.upload( '/', 'd:\ A.TXT')'和'client.upload( '/', 'd:/a.txt')' –

回答

1

使用client.upload()時的NameNode將數據節點的地址返回給客戶端,所以你應該確保你的客戶將獲得的地址。可能是你爲hdfs設置了主機名而不是ip,那麼你應該在你的「/ etc/hosts」文件中添加一個主機名項。