FAILED: HiveAuthzPluginException Ошибка получения разрешений для hdfs - PullRequest
0 голосов
/ 22 мая 2019

Я пытаюсь вставить данные в таблицу кустов из файла в каталоге hdfs по запросу:

$ jdbc:hive2://localhost:10000> LOAD DATA INPATH '/user/xyz/stdfiles/testtbl.txt' OVERWRITE INTO TABLE testdb.testtbl;

Но запрос не выполнен:

Ошибка: ошибка приоператор компиляции: FAILED: HiveAuthzPluginException Ошибка получения разрешений для hdfs: // localhost: 9000 / user / xyz / stdfiles / testtbl.txt: null (состояние = 42000, код = 40000)

Я пыталсявыдавая разрешения с помощью следующей команды, которая не дает ошибок:

$ hdfs dfs -chown -R stdfiles /user/xyz/stdfiles
$ hdfs dfs -chmod -R 777 /user/xyz/stdfiles/testtbl.txt

Проверено:

$ hdfs dfs -ls /user/xyz/stdfiles
19/05/22 09:15:13 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 1 items
-rwxrwxrwx 1 stdfiles supergroup 6 2019-05-22 08:45 /user/xyz/stdfiles/testtbl.txt

Успешная вставка данных осуществляется желаемым выводом

1 Ответ

0 голосов
/ 22 мая 2019

Добавить следующие свойства в файл конфигурации hadoop core-site.xml работал для меня:)

<property>
     <name>hadoop.proxyuser.niazullah.hosts</name>
     <value>*</value>
</property>

<property>
     <name>hadoop.proxyuser.niazullah.groups</name>
     <value>*</value>
</property>

Также проверьте доступ пользователя hdfs:

$ hdfs dfs -ls /user

Вывод:

drwxr-xr-x   - main supergroup          0 2019-05-22 13:22 /user/test

Где "main" - это смена пользователя, которую выполняет пользователь улья

...