赞
踩
我正在尝试使用Windows10中的python jupyter工具连接到具有Ubuntu的VM中的HDFS。任何人都可以通过以下连接错误帮助我。谢谢。
使用的软件包:pywebhdfs ubuntu 18.0.4 Windows 10
'''
from pywebhdfs.webhdfs import PyWebHdfsClient
from pprint import pprint
HDFS_CONNECTION = PyWebHdfsClient(host='localhost',port='9000', user_name='root-sai')
HDFS_CONNECTION.list_dir('hdfs"//localhost:9000/New')
'''错误:-
ConnectionError: HTTPConnectionPool(host='localhost', port=9000): Max retries exceeded with url: /webhdfs/v1/hdfs%22//localhost%3A9000/New?op=LISTSTATUS&user.name=root-sai (Caused by NewConnectionError(': Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it'))
解决方案
webhdfs端口与RPC端口不同。默认情况下为50070。
如果未启用webhdfs(默认情况下已启用),请在hdfs-site.xml
dfs.webhdfs.enabled
true
您可以通过调用curl请求来测试是否启用了webhdfs。
测试/tmp目录是否存在,user.name根据需要更新值。
curl -i "http://localhost:50070/webhdfs/v1/tmp?user.name=hadoop-user&op=GETFILESTATUS"
初始化PyWebHdfsClient,
HDFS_CONNECTION = PyWebHdfsClient(host='localhost',port='50070', user_name='root-sai')
HDFS_CONNECTION.list_dir('/New')
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。