CDH的Hive权限控制

CDH初期部署时没有做权限控制,现在需要加权限,下面是添加权限的过程。

1.登录hive,查看角色,报错:
hive> show roles;
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Current user : root is not allowed to list roles. User has to belong to ADMIN role and have it as current role, for this action.

说明没有开启权限控制,所以先 修改 hive 配置 ,添加 hive-site.xml 配置
CDH版本的hive-site.xml是通过CM配置生成的文件,每次启动,都会根据CM选项还原配置,因此,我们必须用CM界面,找到Hive的配置选项,修改Hive的配置项。修改过程按照大佬博客操作即可。
https://blog.csdn.net/gdkyxy2013/article/details/105722837

  1. hive的权限问题:
    增加用户,对用户赋权,但表多,用户多的情况下,会重复很多工作,因此我们一般会用hive自己的分组方式role来批量管理权限。
    思路:
    先 创建role角色 给role赋权
    然后 把role赋给user用户即可。

创建用户必须是admin角色的用户才能做到,因此需要把root用户加入admin角色中:
在这里插入图片描述

当root有admin角色后,需要用root登陆hive,然后再次set role admin;
在这里插入图片描述

  1. 开始创建和赋权。
    (1、创建角色
    create role testgroup;
    (2、给角色赋权
    grant select on database db_name to role testgroup;
    grant select on db_name.table_name to role testgroup;
    当然select可为all\update\delete\create…

(3、把角色赋给用户
grant role testgroup to user tct_01;

PS:这里的用户为服务器的用户,赋角色前需要先创建用户。 查看用户和创建用户的过程参考https://blog.csdn.net/weixin_31495827/article/details/116545508

用root账户登录,操作过程简略截图演示下过程:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(4、可以测试看看权限了
SHOW ROLE GRANT user tct_01;
show grant user tct_01 on database db_name ;

也可以连接hive数据库,校验下权限。

4.hive用户和服务器用户是一样的,所以要注意下服务器上用户的权限。
在这里插入图片描述
不想开放给tct_01的文件也可以看到。所以修改文件的权限
在这里插入图片描述
在这里插入图片描述

参考文章:
https://blog.csdn.net/fairynini/article/details/106057736
https://blog.csdn.net/weixin_31495827/article/details/116545508

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值