创建Hive用户并绑定角色
操作场景
该任务指导MRS集群管理员在Manager创建Hive用户并绑定角色。Hive角色可设置Hive管理员权限以及Hive表的数据操作权限。
用户使用Hive并创建数据库需要加入hive组,不需要角色授权。用户在Hive和HDFS中对自己创建的数据库或表拥有完整权限,可直接创建表、查询数据、删除数据、插入数据、更新数据以及授权他人访问表与对应HDFS目录与文件。默认创建的数据库或表保存在HDFS目录“/user/hive/warehouse”。
约束与限制
- 安全模式支持创建Hive角色,普通模式不支持创建Hive角色。
- 如果当前组件使用了Ranger进行权限控制,须基于Ranger配置相关策略进行权限管理,具体操作可参考添加Hive的Ranger访问权限策略。
前提条件
MRS集群管理员已明确业务需求。
创建Hive角色
MRS系统默认预置了部分角色,如果预置的角色不满意用户需求,可以参考该操作自定义创建角色。如果系统预置的角色满足要求则请跳过该操作。系统预置的角色及其权限说明请参见MRS集群默认权限信息说明。
- 登录FusionInsight Manager,具体请参见访问集群Manager。
- 选择“系统 > 权限 > 角色”。
- 单击“添加角色”,输入“角色名称”和“描述”。
- 设置角色“配置资源权限”。
- 设置HDFS目录的读和执行权限。
- 选择“待操作集群的名称 > HDFS > 文件系统 > hdfs://hacluster/ > user”,在“hive”的“权限”列,勾选“读”和“执行”。
- 选择“待操作集群的名称 > HDFS > 文件系统 > hdfs://hacluster/ > user > hive”,在“warehouse”的“权限”列,勾选“读”和“执行”。
- 选择“待操作集群的名称 > HDFS > 文件系统 > hdfs://hacluster/ > tmp”,在“hive-scratch”的“权限”列,勾选“读”和“执行”。
- “Hive管理员权限”:Hive管理员权限。
- “Hive读写权限”:Hive数据表管理权限,可设置与管理已创建的表的数据操作权限。
具体配置操作请参见表1,其中:
- Hive角色管理支持授予管理员权限、访问库、表和视图的权限。
- Hive管理员权限不支持管理HDFS的权限。
- 如果数据库中的表或者表中的文件数量比较多,在授权时可能需要等待一段时间。例如表的文件数量为1万时,可能需要等待2分钟。
表1 设置角色 任务场景
角色授权操作
设置Hive管理员权限
在“配置资源权限”的表格中选择“待操作集群的名称 > Hive”,勾选“Hive管理员权限”。
用户绑定Hive管理员角色后,在每个维护操作会话中,还需要执行以下操作:
- 以客户端安装用户,登录安装Hive客户端的节点。
- 执行以下命令配置环境变量,例如,Hive客户端安装目录为“/opt/hiveclient”:
source /opt/hiveclient/bigdata_env
- 执行以下命令认证用户:
kinit Hive业务用户
- 执行以下命令登录Hive客户端:
beeline
- 执行以下命令更新Hive用户的管理员权限:
set role admin;
设置在默认数据库中,查询其他用户表的权限
- 在“配置资源权限”的表格中选择“待操作集群的名称 > Hive > Hive读写权限”。
- 在数据库列表中单击指定的数据库名称,显示数据库中的表。
- 在指定表的“权限”列,勾选“查询”。
设置在默认数据库中,插入其他用户表的权限
- 在“配置资源权限”的表格中选择“待操作集群的名称 > Hive > Hive读写权限”。
- 在数据库列表中单击指定的数据库名称,显示数据库中的表。
- 在指定表的“权限”列,勾选“插入”。
设置在默认数据库中,导入数据到其他用户表的权限
- 在“配置资源权限”的表格中选择“待操作集群的名称 > Hive > Hive读写权限”。
- 在数据库列表中单击指定的数据库名称,显示数据库中的表。
- 在指定表的“权限”列,勾选“删除”和“插入”。
设置提交HQL命令到Yarn执行的权限
部分业务需要使用的HQL命令转化为MapReduce任务并提交到Yarn中执行,需要设置Yarn权限。例如运行的HQL使用了insert、count、distinct、group by、order by、sort by或join等语句的相关场景。
- 在“配置资源权限”的表格中选择“待操作集群的名称 > Yarn > 调度队列 > root”。
- 在“default”队列的“权限”列,勾选“提交”。
- 设置HDFS目录的读和执行权限。
- 单击“确定”,返回“角色”页面。
角色创建完成后,绑定该角色的用户将拥有对应权限。
创建Hive用户并绑定角色
- 登录FusionInsight Manager。
- 选择 。
- 在用户列表上方,单击“添加用户”,配置如下参数。
- 用户名:自定义,例如“hiveuser”。
- 用户类型:选择“人机”。
- 密码、确认新密码:自定义用户密码。
- 用户组:单击“添加”,选择用户组,例如选择“hive”,单击“确定”。
- 主组:根据业务实际需要选择,例如“hive”。
- 角色:单击“添加”,为用户绑定角色,例如“System_administrator”。
如果系统预置的角色不满足需求,可以参考创建Hive角色创建角色后在此处进行绑定。
- 单击“确定”完成用户创建。
“人机”用户创建成功后,通常需要修改初始密码后才可以正常使用,可以使用该用户登录FusionInsight Manager,按照界面提示重置密码即可。
- 使用新创建的用户登录Hive客户端,即可执行创建、修改、删除Hive表等相关操作,具体操作请参见快速使用Hive进行数据分析。