更新时间:2026-06-29 GMT+08:00
配置仅Hive管理员用户能创建库和在default库建表
操作场景
默认情况下,具有创建Hive表权限的用户,能在Hive客户端创建数据库及在default库中建表。Hive支持配置仅有Hive管理员可以创建库和在default库中建表,其他用户需通过Hive管理员授权才可使用库。
约束与限制
- 本章节操作不适用于集群未启用Kerberos认证(普通模式)且Hive未启用Ranger鉴权的场景。
- 开启本功能之后,会限制普通用户新建库和在default库新建表。请充分考虑实际应用场景,再决定是否做出调整。
- 由于对执行用户做了限制,使用非管理员用户执行建库、表脚本迁移、重建元数据操作时需要特别注意,防止错误。
ACL鉴权场景操作步骤
- 登录FusionInsight Manager页面,选择“集群 > 服务 > Hive > 配置 > 全部配置”。
- 选择“HiveServer(角色) > 自定义”,对参数文件“hive-site.xml”添加自定义参数,设置“名称”为“hive.allow.only.admin.create”,“值”为“true”,配置仅Hive管理员用户能创建库和在“default”库中创建表。
- MRS 3.6.0-LTS之前版本,单击“保存”保存配置。单击“实例”,勾选所有Hive实例,选择“更多 > 重启实例”,输入当前用户密码,单击“确定”重启所有Hive实例。
MRS 3.6.0-LTS及之后版本,单击“保存”保存配置,等待界面提示“操作成功”,单击“完成”,配置已修改。该参数动态生效,不需要重启Hive服务。
- 是否需要在Spark/Spark2x客户端中启用此功能?
- 是,执行5。
- 否,操作结束。
- 选择“集群 > 服务 > Spark > 配置 > 全部配置”,在左侧导航栏选择“SparkResource2x(角色) > 自定义”和“JDBCServer2x(角色) > 自定义”,对参数文件“hive-site.xml”添加自定义参数,设置“名称”为“hive.allow.only.admin.create”,“值”为“true”。
- 单击“保存”保存配置。单击“实例”,勾选所有Spark2x实例,选择“更多 > 重启实例”,输入当前用户密码,单击“确定”重启所有实例。
- 重新下载并安装Spark/Spark2x客户端。
- 以在Hive客户端使用此功能为例进行演示。
- 以客户端安装用户,登录安装客户端的节点。
- 执行以下命令切换到客户端安装目录,配置环境变量并认证用户。
- 切换到客户端安装目录:
cd /opt/hadoopclient
- 配置环境变量:
source bigdata_env
- 认证用户,该用户具有创建Hive表的权限,集群未启用Kerberos认证(普通模式)请跳过此步骤:
kinit 组件业务用户例如:
kinit test
- 切换到客户端安装目录:
- 执行以下命令登录Hive客户端:
beeline
- 执行以下命令创建数据库和在“default”数据库中创建表:
create database test;
命令执行后报错仅具有管理员权限的用户支持创建数据库:
图1 创建数据库报错
创建表:create table test(name string);命令执行后报错仅具有管理员权限的用户支持在“default”数据库中创建表:
图2 创建表报错
- 为用户绑定具有Hive管理员权限的角色,具体操作请参见创建Hive用户并绑定角色。
- 用户权限设置成功后,重新在Hive客户端创建数据库或在“default”数据库中创建表即可。
Ranger鉴权场景操作步骤
- 执行此操作后,将限制普通用户创建库表、use切换default库和其他用户的数据库,已存在的自己创建的数据库、表仍可正常使用。
- 在Ranger页面为普通用户授权后仍可创建库表、use切换数据库。
- 对接LakeFormation场景不支持此功能。
- 使用admin用户登录Manager页面,选择“集群 > 集群属性”,查看并记录集群的“认证模式”。
- 选择“集群 > 服务 > Ranger”,单击“Ranger Web UI”右侧的超链接登录Ranger WebUI页面。
- 在首页中单击“HADOOP SQL”区域的组件插件名称如“Hive”。
- 单击“all - database”策略所在行的修改按钮,在“Allow Conditions”区域,删除“Select Group”为“public”且“Permissions”为“create”的权限控制规则,单击“Save”保存策略。 图3 删除数据库的权限控制规则
- 单击“default database tables columns”策略所在行的修改按钮,在“Allow Conditions”区域,删除“Select Group”为“public”且“Permissions”为“create”的权限控制规则,单击“Save”保存策略。 图4 删除Hive默认数据库、表、列的权限控制规则
- 等待1分钟Hive组件同步修改策略后,配置仅Hive管理员用户能创建库和在default库建表功能即会生效。
父主题: Hive企业级能力增强