我想通过 python 模块“hdfs”将文件远程上传到我的 hdfs。 我的hadoop在我的linux上运行,但我想远程上传我windows(或其他电脑)上的文件。当我使用如下代码时:
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]
我觉得是权限的问题,不知道怎么解决。 你能帮帮我吗?
最佳答案
在使用client.upload()
时namenode会返回datanode的地址给client,所以你要保证你的client能到达这个地址。可能是您为 hdfs 设置了主机名而不是 ip,那么您应该将主机名项添加到您的“/etc/hosts”文件。
关于python hdfs 远程上传文件到hdfs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42944469/