FAILED: InvalidConfigurationException hive.server2.authentication can't be none in non-testing mode

本文解决了一个在Cloudera Manager中配置Hive与Sentry时遇到的问题,即执行show roles命令时报错。问题根源在于`sentry.hive.testing.mode`配置项设置不当。文章提供了正确的配置方法及位置,即在Hive服务的sentry-site.xml文件中进行设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在cloudera manager里面

配置hive + sentry

启动hiveserver2 执行命令 show roles 报错: 

Caused by: org.apache.hive.service.cli.HiveSQLException: Error while compiling statement: FAILED: InvalidConfigurationException hive.server2.authentication can't be none in non-testing mode

原因是: 

<property>
  <name>sentry.hive.testing.mode</name>
  <value>true</value>
</property>

没配置 或者地方没配对。 当把这个参数配置对地方之后 错误自然消失。
cloudera manager中配置在hive 配置的 sentry-site.xml 的 Hive 服务高级配置代码段(安全阀) 里面。

参考:https://blog.youkuaiyun.com/lxpbs8851/article/details/51476244

### 如何配置和使用 Hive `hive.server2.authentication` 参数 #### 配置 Kerberos 认证 为了使 Hive 使用 Kerberos 进行身份验证,在 `hive-site.xml` 文件中需设置 `hive.server2.authentication` 为 KERBEROS 并提供相应的主体名称和服务密钥表路径[^1]。 ```xml <property> <name>hive.server2.authentication</name> <value>KERBEROS</value> </property> <property> <name>hive.server2.authentication.kerberos.principal</name> <value"hive/node1@EXAMPLE.COM"></value> </property> <property> <name>hive.server2.authentication.kerberos.keytab</name> <value>/home/keytabs/hive.service.keytab</value> </property> ``` 对于元数据存储的安全层,同样启用 SASL 加密并指明 Kerberos 主体以及对应的 keytab 文件位置: ```xml <property> <name>hive.metastore.sasl.enabled</name> <value>true</value> </property> <property> <name>hive.metastore.kerberos.principal</name> <value"hive/node1@EXAMPLE.COM"></value> </property> <property> <name>hive.metastore.kerberos.keytab.file</name> <value>/home/keytabs/hive.service.keytab</value> </property> ``` #### 构建 JDBC URL 字符串 当连接到启用了 Kerberos 的 HiveServer2 实例时,JDBC URL 应遵循特定模式以确保正确传递认证信息。URL 结构应包含 principal 组件,并按照三部分形式定义(即 principal/host@REALM),其中主机名可以用 `_HOST` 表示以便自动解析当前服务器的主机名[^2]。 例如: ```plaintext jdbc:hive2://server.example.com:10000/default;principal=hive/_HOST@CDH.COM ``` 这里假设 CDH.COM 是所使用的 Kerberos 域名。 通过上述配置,能够实现安全的身份验证过程,从而保护集群内的资源访问权限不受未授权用户的侵害。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值