Hive开启权限后不能创建数据库问题

背景:由于Hive需要开启权限管理,安装网上教程,开启权限配置,重启集群后。
使用root用户登录,进入Hive命令行界面。
执行
create database test;
发现报错:
Authorization failed:No privilege ‘Create’ found for outputs { }. Use SHOW GRANT to get more details

问题排查过程:
1、在一个已经存在数据库下,比如dm,给用户root,授全部权限:
grant all on database dm to user root;
然后执行创建表语句,是成功的。
2、经过不断尝试和查找资料,大概知道是需要一个Hive的超级管理员用户才行,就创建一个用户admin,使用admin登录,进入Hive,执行创建数据库语句,还是报同样的错误。
3、最后经过努力,终于找到解决问题的办法。
(1)vi /etc/Hive/conf.cloudera.hive/hive-site.xml,在Hive的配置文件中加入:


   hive.users.in.admin.role
   hdfs

(2)保存配置文件,分发到集群,重启集群。
(3)切换到hdfs,进入Hive命令行,执行:
grant all to user root;
给账号root授权全部权限
(4)再执行create database test;
终于成功了。
(5)取消全部授权
revoke all from user root;

你可能感兴趣的:(Hive开启权限后不能创建数据库问题)