更新时间:2024-10-11 GMT+08:00
创建新用户,执行查询时报无权限
问题现象
创建了新用户,但是执行查询的时候报无权限的错。
Error: Error while compiling statement: FAILED: HiveAccessControlException Permission denied: Principal [name=hive, type=USER] does not have following privileges for operation QUERY [[SELECT] on Object [type=TABLE_OR_VIEW, name=default.t1]] (state=42000,code=40000)
原因分析
创建的新用户没有Hive组件的操作权限。
解决方案
MRS Manager界面操作:
- 登录MRS Manager页面,选择“系统配置 > 角色管理 > 添加角色”。
- 输入角色名称。
- 在“权限”区域选择Hive,出现Hive管理员权限和Hive表的读写权限。
- 选择“Hive Read Write Privileges”Hive表的读写权限,此时显示列Hive中的所有数据库。
- 勾选角色需要的权限并单击“确定”完成角色创建。
- 在MRS Manager页面,选择“系统配置 > 用户管理”。
- 在已创建的新用户对应的“操作”列单击“修改”。
- 单击“选择添加的用户组”,如需使用Hive服务,必须添加Hive组。
- 单击“选择并绑定角色”,勾选5中已创建的角色。
- 单击“确定”完成用户权限的配置。
FusionInsight Manager界面操作:
- 登录FusionInsight Manager。选择“系统 > 权限 > 角色”。
- 单击“添加角色”,输入“角色名称”和“描述”。
- 设置角色“配置资源权限”,选择“Hive读写权限”Hive表的读写权限,此时显示列Hive中的所有数据库。
- 勾选角色需要的权限并单击“确定”完成角色创建。
- 在FusionInsight Manager页面,选择“系统 > 权限 > 用户”。
- 在已创建的新用户对应的“操作”列单击“修改”。
- 单击“用户组”右侧的“添加”,如需使用Hive服务,必须添加Hive组。
- 单击“角色”右侧的“添加”,勾选4中已创建的角色。
- 单击“确定”完成用户权限的配置。
父主题: 使用Hive