2016-08-02 2 views
0

Я поставляю вставку SQL для PutHiveQL и получить эту ошибку:НИФИ PutHiveQL HiveAccessControlException Доступ запрещен: пользователь [анонимный] не [SELECT] привилегия

HiveAccessControlException Разрешение отказано: пользователь [анонимный] не [SELECT] привилегия

Когда мы устанавливаем nifi в HDF и получаем доступ к нему из браузера через http://localhost:6434/nifi/ ... является ли пользователь по умолчанию «анонимным»? это причина, почему я получаю ошибку? Могу ли я узнать, где я должен настроить разрешение в улье?

ответ

0

Является ли NiFi/HDF работающим на узле Hadoop? Если да, то какой пользователь работает под ним? Вы должны будете предоставить SELECT для разрешения для этого пользователя:

https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.3.0/bk_Ranger_User_Guide/content/user_access_hive_db_tables_cmd_line.html

Если пользователь не существует в Hadoop, вам придется добавить его:

https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsPermissionsGuide.html

или запустить Nifi/HDF как пользователь, который существует в ОС и Hadoop.

Если NiFi/HDF не работает на узле Hadoop, вам необходимо добавить пользователя/группу (с тем же UID/GID), который работает с NiFi в Hadoop (используя приведенную выше ссылку для руководства), или создайте пользователя/группу на узле HDF, который уже находится в Hadoop (и имеет привилегии SELECT для таблицы).

+0

NiFi работает на datanode. Пользователь «root» запускает службу NiFi. Мой вопрос в том, почему ошибка говорит «анонимный» пользователь? Значит ли это, что нам просто нужно предоставить выбор пользователю «root»? не «анонимный»? Но я создал таблицу в UI UI из ambari, зарегистрированной как admin. В папке/app/hive/storage папка таблицы принадлежит «hive», группе «hdfs» – iPhoneJavaDev

+0

Каковы учетные данные, которые вы предоставляете HiveConnectionPool? Если нет, то вы анонимны и должны будете предоставлять привилегии анонимному пользователю. – mattyb

+0

ничего ... но когда я использую «hive» в качестве имени пользователя, я все равно получаю ту же ошибку, на этот раз вместо «анонимного», он говорит «hive». – iPhoneJavaDev