我想通过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]
我认为这是一个关于许可的问题,但我不知道如何解决它。你能帮助我吗?
1条答案
按热度按时间xzlaal3s1#
namenode在使用时会将datanode的地址返回给客户机
client.upload()
,所以您应该确保您的客户能够到达该地址。如果您为hdfs设置了主机名而不是ip,那么您应该在“/etc/hosts”文件中添加一个主机名项。