Я работаю над использованием интерфейса REST для HDFS Hadoop как удобный способ хранения файлов по сети. Для тестирования я установил Hadoop на моем Mac (10.8.5), следуя этим инструкциям:Ошибка разрешения на webhdfs
http://importantfish.com/how-to-install-hadoop-on-mac-os-x/
Это работало как шарм, и я в состоянии начать Hadoop и запустить базовый тест:
Hadoop -examples-1.1.2.jar пи 10 100
Теперь я использую клиент питона для обработки HTTP-запросов в/из webhdfs:
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)
Traceback (самый последний вызов последний):
файл «», линия 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
raise errors.PyWebHdfsException (msg = сообщение)
pywebhdfs.errors.PyWebHdfsException: {"RemoteException": {"exception": "AccessControlException", "javaClassName": "org.apache.hadoop.security.AccessControlException", "message": "Permission denied: user = webuser, access = WRITE, inode = \ "user \": mlmiller: supergroup: rwxr-xr-x "}}
Я также попытался указать пользователя как« hdfs »вместо отказа python lib к ' webhdfs ', но получить тот же результат. После 30 минут чтения я сдался и понял, что не понимаю взаимодействия пользователей hdfs, безопасности hadoop (которую я включил после установки isntructions) и моего пользователя unix и разрешений.