Проблема с разрешениями Apache Pig

Я пытаюсь запустить Apache Pig на моем кластере Hadoop, и у меня возникла проблема с разрешениями. Сам Pig запускается и подключается к кластеру просто отлично - из оболочки Pig я могу ls через мои каталоги HDFS и вокруг них. Однако, когда я пытаюсь загрузить данные и запустить команды Pig, я сталкиваюсь с ошибками, связанными с правами доступа:

grunt> A = load 'all_annotated.txt' USING PigStorage() AS (id:long, text:chararray, lang:chararray);
grunt> DUMP A;
2011-08-24 18:11:40,961 [main] ERROR org.apache.pig.tools.grunt.Grunt - You don't have permission to perform the operation. Error from the server: org.apache.hadoop.security.AccessControlException: Permission denied: user=steven, access=WRITE, inode="":hadoop:supergroup:r-xr-xr-x
2011-08-24 18:11:40,977 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1066: Unable to open iterator for alias A
Details at logfile: /Users/steven/Desktop/Hacking/hadoop/pig/pig-0.9.0/pig_1314230681326.log
grunt> 

В этом случае all_annotated.txt - это файл в моем домашнем каталоге HDFS, который я создал, и, безусловно, иметь разрешения; та же проблема возникает независимо от того, какой файл я пытаюсь загрузить . Однако я не думаю, что это проблема, поскольку сама ошибка указывает на то, что Pig пытается записать где-то . Погуглив, я нашел несколько сообщений в списках рассылки, предполагающих, что для определенных операторов Pig Latin ( order и т. Д.) Требуется доступ на запись во временный каталог в файловой системе HDFS, расположение которого контролируется хадоупом . .tmp.dir в файле hdfsd-site.xml. Я не думаю, что load попадает в эту категорию, но, чтобы быть уверенным, я изменил hadoop.tmp.dir , чтобы он указывал на каталог в моем домашнем каталоге HDFS, и проблема не исчезла.

Итак, у кого-нибудь есть идеи относительно того, что может происходить?

7
задан Steven Bedrick 25 August 2011 в 16:38
поделиться