
# 执行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管理员权限的角色，并单击"确定"完成权限添加。
 
