文档首页/ MapReduce服务 MRS/ 组件操作指南(LTS版)/ 使用Hive/ Hive企业级能力增强/ 配置仅Hive管理员用户能创建库和在default库建表
更新时间:2025-08-01 GMT+08:00

配置仅Hive管理员用户能创建库和在default库建表

操作场景

默认情况下,具有创建Hive表权限的用户,能在Hive客户端创建数据库及在default库中建表。Hive支持配置仅有Hive管理员可以创建库和在default库中建表,其他用户需通过Hive管理员授权才可使用库。

约束与限制

  • 该章节操作仅适用于开启了Kerberos认证的集群。
  • 该章节操作仅适用于Hive未启用Ranger鉴权的场景。
  • 开启本功能之后,会限制普通用户新建库和在default库新建表。请充分考虑实际应用场景,再决定是否做出调整。
  • 由于对执行用户做了限制,使用非管理员用户执行建库、表脚本迁移、重建元数据操作时需要特别注意,防止错误。

操作步骤

  1. 登录FusionInsight Manager页面,选择“集群 > 服务 > Hive > 配置 > 全部配置”。
  2. 选择“HiveServer(角色) > 自定义”,对参数文件“hive-site.xml”添加自定义参数,设置“名称”为“hive.allow.only.admin.create”,“值”为“true”,配置仅Hive管理员用户能创建库和在“default”库中创建表。
  3. 单击“保存”保存配置。单击“实例”,勾选所有Hive实例,选择“更多 > 重启实例”,输入当前用户密码,单击“确定”重启所有Hive实例。
  4. 是否需要在Spark/Spark2x客户端中启用此功能?

    • 是,执行5
    • 否,操作结束。

  1. 选择“SparkResource2x > 自定义”和“JDBCServer2x > 自定义”,对参数文件“hive-site.xml”添加自定义参数,设置“名称”为“hive.allow.only.admin.create”,“值”为“true”。
  2. 单击“保存”保存配置。单击“实例”,勾选所有Spark2x实例,选择“更多 > 重启实例”,输入当前用户密码,单击“确定”重启所有实例。
  3. 重新下载并安装Spark/Spark2x客户端。
  4. 以在Hive客户端使用此功能为例进行演示。

    1. 以客户端安装用户,登录安装客户端的节点。
    2. 执行以下命令切换到客户端安装目录,配置环境变量并认证用户。
      1. 切换到客户端安装目录:
        cd /opt/hadoopclient
      2. 配置环境变量:
        source bigdata_env
      3. 认证用户,该用户具有创建Hive表的权限,集群未启用Kerberos认证(普通模式)请跳过此步骤:
        kinit 组件业务用户

        例如:

        kinit test
    3. 执行以下命令登录Hive客户端:
      beeline
    4. 执行以下命令创建数据库和在“default”数据库中创建表:

      创建数据库:

      create database test;

      命令执行后报错仅具有管理员权限的用户支持创建数据库:

      图1 创建数据库报错
      创建表:
      create table test(name string);

      命令执行后报错仅具有管理员权限的用户支持在“default”数据库中创建表:

      图2 创建表报错
    5. 为用户绑定具有Hive管理员权限的角色,具体操作请参见创建Hive用户并绑定角色
    6. 用户权限设置成功后,重新在Hive客户端创建数据库或在“default”数据库中创建表即可。