starrocks3.1.2做kerberos认证失败

为了更快的定位您的问题,请提供以下信息,谢谢
【详述】安装部署starrocks3.1.2并做kerberos认证失败
【背景】在文件fe.conf和be.conf中做了kerberos认证的配置,可以成功创建hive catalog,但是操作表的时候失败了,之前使用starrocks2.5版本配置kerberos是没有问题的,基于hive catalog操作表也是OK的,kerberos认证没有失效,机器上其他服务正常使用kerberos认证
【业务影响】影响了外表操作
【StarRocks版本】3.1.2
【集群规模】例如:3fe(2 follower)+3be(fe与be混部)
【机器信息】CPU虚拟核/内存/网卡,64C256G/万兆
【联系方式】 StarRocks 社区群 3:青青子衿
【附件】
be.conf (379 字节) fe.conf (1.1 KB) fe.log_error (167.7 KB)
core site 文件里的 hadoop.security.auth_to_local值
7c4ff433790e1e9ff8f89091f855a7a

麻烦再仔细检查一下

Caused by: org.ietf.jgss.GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)
2023-08-28 18:09:58,535 ERROR (starrocks-mysql-nio-pool-3|248) [TSaslTransport.open():307] SASL negotiation failure
javax.security.sasl.SaslException: GSS initiate failed
配置有问题。检查一下吧


我是看的这里的认证配置方式,我按照你给的再check一下

我们check了一下,目前操作和截图里的是一样的,并且在2.5版本我们也是这样操作的,重新部署的sr3.1和2.5版本唯一的区别是3.1使用的是的jdk17,sr2.5使用的是jdk8,我们用JDK8再试一下吧

JDK17不支持


但是在启动命令里提示,推荐使用JDK11 or JDK17


这是start_fe.sh脚本里的内容

经过反复验证,JDK8是可以的,JDK17认证会失败,JDK11没有验证

fe里面加上-Dsun.security.krb5.debug=true,看下fe.log,是不是jdk的加密算法不支持,可能需要替换jce文件,可以网上搜下jdk17这块的jce资料

我也遇到了和你一样的问题,因为我们用的是rc4-hmac kerberos加密类型,这个在jdk11之后就默认禁止了,可以通过设置allow_weak_crypto=true来打开。

https://access.redhat.com/documentation/zh-cn/red_hat_build_of_openjdk/11/html/release_notes_for_red_hat_build_of_openjdk_11.0.17/rn-openjdk11017-features_openjdk