集成Ranger后,MRS的Hive组件使用set role admin的方法
背景
FusionInsight MRS集群默认安装Ranger服务并启用了Ranger鉴权模型,管理员可以通过组件权限插件对组件资源的访问设置细粒度的安全访问策略。
目前安全模式集群中支持Ranger的组件包括:HDFS、Yarn、HBase、Hive、Spark2x、Kafka、Storm、Elasticsearch、HetuEngine。
使用场景
MRS3.0.2以前的版本中只需要在FusionInsight Manager管理界面设置用户绑定hive管理员权限的角色,就可以在beeline中执行set role admin;切换为admin权限,MRS3.0.2版本后执行set role admin;会提示如下报错:
ERROR : FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. testuser doesn't belong to role admin
INFO : Completed executing command(queryId=omm_20210426095348_5aa99e2f-5886-4d16-825f-e5e1ed1de3dc); Time taken: 0.052 seconds
INFO : Concurrency mode is disabled, not creating a lock manager
Error: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. testuser doesn't belong to role admin (state=08S01,code=1)
0: jdbc:hive2://172.16.9.113:21066/> set role admin;
解决方案
在Ranger组件中配置hive的role admin操作权限后再使用set role admin命令,步骤如下:
-
使用rangeradmin用户登录Ranger管理界面。(Ranger页面的“Settings”选项只有rangeradmin用户有权限访问。)
-
在首页中单击“Settings”,选择“Roles > Add New Role”。
-
设置“Role Name”为“admin”,在“Users”区域,单击“Select User”,选择对应用户名。
-
点击Add Users按钮,在对应用户名所在行勾选“Is Role Admin”,单击“Save”保存配置。
-
使用PuTTY工具,以客户端安装用户,登录安装Hive客户端的节点。
-
执行以下命令配置环境变量。
例如,Hive客户端安装目录为“/opt/hiveclient”,执行source /opt/hiveclient/bigdata_env -
执行以下命令认证用户。
kinit Hive业务用户 -
执行以下命令登录客户端工具。
beeline
设置完成后,执行以下命令可以正常更新用户的管理员权限。
set role admin;
INFO : Executing command(queryId=omm_20210426101510_3ba026cf-205c-4864-a57b-87611a2c90a4): set role admin; Current sessionId=247faa9e-150e-43a9-ac94-a118be1daf2a
INFO : Starting task [Stage-0:DDL] in serial mode
INFO : Completed executing command(queryId=omm_20210426101510_3ba026cf-205c-4864-a57b-87611a2c90a4); Time taken: 0.05 seconds
INFO : OK
- 点赞
- 收藏
- 关注作者
评论(0)