文档首页/ MapReduce服务 MRS/ 组件操作指南(LTS版)/ 使用Hive/ Hive企业级能力增强/ 配置在Hive客户端使用用户名和密码认证连接HiveServer
更新时间:2025-12-10 GMT+08:00
分享

配置在Hive客户端使用用户名和密码认证连接HiveServer

使用场景

集群已启用Kerberos认证(安全模式)的场景中,在Hive客户端通过Kerberos认证方式连接HiveServer时,需要配置krb5.conf、keytab、hosts等文件,配置错误会导致认证失败,无法访问HiveServer。

MRS 3.6.0-LTS及之后版本,Hive支持在Hive客户端使用用户名和密码方式进行认证连接HiveServer,这种认证方式客户端无需提供Kerberos相关配置,操作简便且兼容Kerberos认证方式。

约束与限制

  • 集群已启用Kerberos认证(安全模式)支持此功能。
  • 用于进行认证的用户必须为在Manager界面的“系统 > 权限 > 用户”中创建的用户。
  • HiveServer基于ZooKeeper实现负载均衡,客户端连接HiveServer前会先访问ZooKeeper,因此Hive开启用户名和密码认证功能时ZooKeeper也需要开启此功能。
  • 修改SSL参数后需要更新Hive客户端配置。
  • 在防暴力破解场景下,密码输错指定次数后锁定机制是按照单个HiveServer实例计算的,默认允许输错5次密码后用户将会被锁定,即同一个用户连接任意一个HiveServer输错5次密码,该账号就会被锁定。如果是基于ZooKeeper实现负载均衡,客户端连接HiveServer前会先连接ZooKeeper,连接ZooKeeper时也是按照单个实例计算密码输入错误次数来锁定账号的,因此在这种场景下,首先会触发ZooKeeper的防暴力破解机制,然后才是Hive的防暴力破解机制。如果要修改Hive用户名和密码认证的防暴力破解相关参数,Hive和ZooKeeper组件的相关参数都需要修改。

操作步骤

  1. 登录Manager界面,选择“集群 > 服务”,在服务列表中单击“Hive”进入概览页面,选择“ 配置 > 全部配置”。
  2. 在全部配置界面右上角的搜索框中搜索“hive.basic.authentication.enable”,并修改该参数值为“true”,开启用户名和密码认证功能。
  3. (可选)在搜索框中搜索表1中的参数,并根据实际需求配置参数值。

    表1 Hive基于用户名和密码认证的参数配置

    参数

    参数描述

    默认取值

    hive.basic.authentication.cache.lifecycle

    开启用户名和密码认证功能时,用于设置认证成功后缓存认证信息的时间,单位为分钟。

    5m

    hive.basic.authentication.failed.lock.time

    开启用户名和密码认证功能时,用于设置账号被锁定时的时长,单位为分钟。

    5m

    hive.basic.consecutive.authentication.failed.count

    开启用户名和密码认证功能时,对于单个HiveServer实例,如果密码连续输入错误达到指定次数,则该账号将被暂时锁定。

    5

    hive.server2.use.SSL

    是否开启SSL通道加密,在使用用户名和密码认证功能时开启可以保障数据传输的安全性。

    集群已启用Kerberos认证(安全模式)默认认证方式为Kerberos,使用SASL协议保障数据传输安全性可以不开启该参数。

    说明:

    如果开启SSL通道加密功能,需要更新Hive客户端配置。

    false

  4. 单击“保存”,在弹出窗口单击“确定”保存配置。
  5. 单击“实例”,勾选所有HiveServer实例,选择“更多 > 重启实例”,输入当前用户密码并单击“确定”重启HiveServer实例。
  6. 在Manager首页,选择“集群 > 服务”,在服务列表中单击“ZooKeeper”进入概览页面,选择“ 配置 > 全部配置”。
  7. 在全部配置界面右上角的搜索框中搜索“basicAuthEnabled”,并修改该参数值为“true”,开启ZooKeeper用户名和密码认证功能。
  8. 单击“保存”,在弹出窗口单击“确定”保存配置。
  9. 单击“实例”,勾选所有ZooKeeper实例,选择“更多 > 重启实例”,输入当前用户密码并单击“确定”重启ZooKeeper实例。
  10. 登录安装Hive客户端的节点,执行以下命令登录Hive客户端:

    执行以下命令,切换到客户端安装目录:

    cd 客户端安装目录

    执行以下命令配置环境变量:

    source bigdata_env

    执行以下命令登录Hive客户端:

    beeline -n ${username} -p '${password}'

    其中${username}${password}为在Manager页面创建的业务用户名和用户密码。

相关文档