python利用hdfs库通过webhdfs操作hdfs,必须在客户端机配置ip映射
报错requests.exceptions.ConnectionError: HTTPConnectionPool(host='bj-hw-8f-18-162', port=50075): Max retries exceeded with url: /webhdfs/v1/test.txt?op=OPEN&namenoderpcaddress=hMaster:9000&offset=0 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x00000000035BAB38>: Failed to establish a new connection: [Errno 11004] getaddrinfo failed',))
解决方法:在运行python程序的主机的hosts文件中加上主机名和ip的映射,对于我所使用的windows系统,hosts文件的路径是C://Windows/System32/drivers/etc/hosts,在文件末尾加上
ip 主机名
以本文的情况为例,则是
10.8.18.162 bj-hw-8f-18-162
修改完记得保存,运行程序成功读取文件。
如果有多个节点需要将这些节点的IP和hostname添加到hosts文件中。
https://blog.csdn.net/hhy1107786871/article/details/88069682
报错hdfs.util.HdfsError: Authentication failure. Check your credentials.
没有权限
https://blog.csdn.net/love666666shen/article/details/78261335