【发布时间】:2013-09-27 13:56:38
【问题描述】:
我正在努力使用 Hadoop 的 HDFS 的 REST 接口作为通过网络存储文件的便捷方式。为了测试,我按照以下说明在我的 mac (10.8.5) 上安装了 hadoop:
http://importantfish.com/how-to-install-hadoop-on-mac-os-x/
这就像一个魅力,我能够启动 hadoop 并运行基本测试:
hadoop-examples-1.1.2.jar pi 10 100
现在,我正在使用 python 客户端来处理与 webhdfs 之间的 HTTP 请求:
http://pythonhosted.org/pywebhdfs/
但是当我尝试创建目录时遇到了一个基本权限错误:
from pywebhdfs.webhdfs import PyWebHdfsClient
hdfs = PyWebHdfsClient()
my_dir = 'user/hdfs/data/new_dir'
hdfs.make_dir(my_dir, permission=755)
回溯(最近一次通话最后一次):
文件“”,第 1 行,在
文件“/Library/Python/2.7/site-packages/pywebhdfs/webhdfs.py”,第 207 行,在 make_dir
_raise_pywebhdfs_exception(response.status_code, response.text)
文件“/Library/Python/2.7/site-packages/pywebhdfs/webhdfs.py”,第 428 行,在 _raise_pywebhdfs_exception
引发错误.PyWebHdfsException(msg=message)
pywebhdfs.errors.PyWebHdfsException: {"RemoteException":{"exception":"AccessControlException","javaClassName":"org.apache.hadoop.security.AccessControlException","message":"Permission denied: user=webuser, access=写,inode=\"user\":mlmiller:supergroup:rwxr-xr-x"}}
我还尝试将用户指定为“hdfs”,而不是 python 库默认为“webhdfs”,但得到相同的结果。读了 30 分钟后,我放弃了,意识到我不了解 hdfs 用户、hadoop 安全性(我在安装说明后启用)以及我的 unix 用户和权限之间的相互作用。
【问题讨论】: