Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.ap

这是hive想使用hiveserver2的服务时报错信息(首先要开启元数据服务,再开启hiveserver2服务,然后bin/beeline -u jdbc:hive2://hadoop102:10000 -n ding报错信息如下)

Error: Could not open client transport with JDBC Uri: jdbc:hive2://hadoop102:10000: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: ding is not allowed to impersonate ding (state=08S01,code=0)

解决办法:

在hadoop的core-site.xml文件中添加如下信息

<property>
    <name>hadoop.proxyuser.ding.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.ding.groups</name>
    <value>*</value>
</property>

然后重启Hadoop集群

注意!hadoop.proxyuser.ding.hosts这里的ding是根据自己的报错信息User: ding is not allowed to impersonate ding对应的

### DataGrip 连接 Hive 出现认证错误的解决方案 当使用 DataGrip 连接到带有 Kerberos 认证的 Hive 数据库时,可能会遇到 `The specified database user/password combination is rejected` 错误。此问题通常由以下几个原因引起: #### 1. 配置文件中的 Kerberos 设置不正确 Kerberos 认证依赖于正确的配置文件设置。确保客户端机器上已安装并正确配置了 Kerberos 客户端环境,并且 `/etc/krb5.conf` 文件的内容指向正确的 KDC 和 Realm[^1]。 #### 2. JDBC URL 参数有误 JDBC URI 中的参数可能未正确指定 principal 或其他必要字段。标准的 JDBC URL 应类似于以下形式: ```plaintext jdbc:hive2://<host>:<port>/<database>;principal=<service_principal> ``` 例如: ```plaintext jdbc:hive2://singlenode:10000/default;principal=hive/singlenode@EXAMPLE.COM ``` 如果缺少 `principal` 参数或者其值不匹配实际的 Kerberos 主体名称,则会引发认证失败。 #### 3. Keytab 文件或票据缓存无效 对于基于 keytab 的身份验证方式,需确认使用的 keytab 文件有效并且对应正确的用户主体。另外,在执行操作前可通过命令获取最新票据来测试连通性: ```bash kinit -kt /path/to/user.keytab username ``` 之后再次尝试通过 DataGrip 建立连接以排除临时性的票据过期问题。 #### 4. IDE 自身兼容性问题 有时特定版本的数据访问工具可能存在 bug 导致无法成功完成某些类型的认证流程。建议升级至最新稳定版 DataGrip 并重新配置驱动程序及相关选项后再试一次[^2]。 以下是调整后的完整示例代码片段用于参考如何修正这些常见场景下的潜在缺陷之一——即更新正确的 kerberos相关属性到hive-site.xml当中去从而让整个过程更加顺畅一些: ```xml <!-- Example of hive-site.xml configuration --> <configuration> <property> <name>hive.server2.authentication</name> <value>KERBEROS</value> </property> <property> <name>hive.server2.kerberos.principal</name> <value>hive/_HOST@YOUR-REALM.COM</value> </property> <property> <name>hive.server2.kerberos.keytab</name> <value>/etc/security/keytabs/hiveserver2.service.keytab</value> </property> </configuration> ``` 以上措施综合考虑后应该能够帮助解决大部分因kerberos引起的authentication errors.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值