更新时间:2024-10-11 GMT+08:00

执行set role admin报无权限

问题现象

执行命令:

set role admin

报下述错误:

0: jdbc:hive2://192.168.42.26:21066/> set role admin;
Error: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. dmp_B doesn't belong to role admin (state=08S01,code=1)

原因分析

当前登录的用户不具有Hive的admin角色的权限。

解决方案

  1. 登录Manager。

    • MRS 3.x之前版本,执行7
    • MRS 3.x及之后版本,选择“集群 > 服务 > Hive”,在服务“概览”页面右上角单击“更多”,查看“启用Ranger鉴权”是否置灰。
      • 是,执行2
      • 否,执行7

  2. 选择“集群 > 服务 > Ranger”,单击“基本信息”区域中的“RangerAdmin”,进入Ranger WebUI界面。
  3. 单击右上角用户名后,选择“Log Out”,退出当前用户后使用rangeradmin用户登录。
  4. 在首页中单击“Settings”,选择“Roles”。
  5. 单击“Role Name”为“admin”的角色,在“Users”区域,单击“Select User”,选择指定用户名。
  6. 点击Add Users按钮,在对应用户名所在行勾选“Is Role Admin”,单击“Save”保存配置,操作结束。
  7. 选择“系统 > 权限 > 角色”,添加一个拥有Hive管理员权限的角色。
  8. 在FusionInsight Manager页面,选择“系统 > 权限 > 用户 ”。
  9. 在指定用户对应的“操作”列单击“修改”。
  10. 为用户绑定拥有Hive管理员权限的角色,并单击“确定”完成权限添加。