栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 云计算 > 云平台

CDH的Hive权限控制

云平台 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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可为allupdatedeletecreate…

(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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/896382.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号