最近项目中遇到spring mvc项目连接开启kerberos认证的kafka/hdfs/hive时,krb5.conf文件更新后不生效的问题,在和同事的共同努力下终于解决了问题,平时经常在网上搜答案,这次确实涉及相关问题的网上资料比较少,所以决定记下来帮助下遇到相关问题的伙伴们:
1,连接kerberos-kafka 时krb5.conf文件不生效解决方法:
在jaas.conf 文件中设置refreshKrb5Config=true (网上搜到的)
2,连接kerberos-hdfs/hive时krb5.conf 文件不生效解决办法:
在设置完系统属性 java.security.krb5.conf 后,增加下面红色代码刷新Config对象(查源码发现):
System.setProperty("java.security.krb5.conf", krb5);
//令参数 java.security.krb5.conf 生效
sun.security.krb5.Config.refresh();