2016-08-02 85 views

回答

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作为OS和Hadoop中存在的用户。

如果NiFi/HDF未在Hadoop节点上运行,则需要将运行NiFi的用户/组(使用相同的UID/GID)添加到Hadoop(使用上述链接进行指导),或者在已经在Hadoop中的HDF节点上创建一个用户/组(并对该表拥有SELECT权限)。

+0

NiFi在datanode上运行。用户'root'运行NiFi服务。我的问题是为什么错误说'匿名'用户?那么这是否意味着我们只需要向用户“root”授予select?不是'匿名'?但是我从ambari以admin身份登录,创建了蜂巢UI中的表格。在/ app/hive/warehouse中,表文件夹属于'hive',组'hdfs' – iPhoneJavaDev

+0

您向HiveConnectionPool提供的凭据是什么?如果没有,那么你是匿名的,将不得不授予匿名用户权限。 – mattyb

+0

什么都没有......但是当我使用'hive'作为用户名,我仍然得到相同的错误,这次,而不是'匿名',它说'蜂房'。 – iPhoneJavaDev