首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法获取Kerberos领域

无法获取Kerberos领域
EN

Stack Overflow用户
提问于 2018-10-30 00:33:17
回答 2查看 8.1K关注 0票数 2

我是Kerberos/hive的新手,想使用JDBC连接hive (Kerberos实现)。

代码语言:javascript
复制
> > org.apache.hadoop.conf.Configuration conf = new
> > org.apache.hadoop.conf.Configuration();
> >             conf.set("hadoop.security.authentication", "Kerberos");
> >             UserGroupInformation.setConfiguration(conf);
> >             UserGroupInformation.loginUserFromKeytab("<principal>", "<path to keytab file>");
> > 
> > 
> > Class.forName(Util.getConstantProperty("hive.class.name"));
> > 
> > log.info("Making connection with Hive DB"); hiveConn =
> > DriverManager.getConnection("<hive db url>",,"hive.user","");

获取错误:

代码语言:javascript
复制
2018-10-29 20:32:50 ERROR ConnectionHandler:80 - java.lang.IllegalArgumentException: Can't get Kerberos realm java.lang.IllegalArgumentException: Can't get Kerberos realm
        at org.apache.hadoop.security.HadoopKerberosName.setConfiguration(HadoopKerberosName.java:65)
        at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:263)
        at org.apache.hadoop.security.UserGroupInformation.setConfiguration(UserGroupInformation.java:299)
        at utils.ConnectionHandler.connectHiveDB(ConnectionHandler.java:58)
EN

回答 2

Stack Overflow用户

发布于 2018-10-30 04:13:48

此外,评论中来自Prazy的建议

不要忘记在krb5.conf中设置默认领域

如果仍然有问题,请将kerberos debug添加到comand行

代码语言:javascript
复制
export HADOOP_OPTS="-Dsun.security.krb5.debug=true"
export HADOOP_ROOT_LOGGER=DEBUG,console
票数 0
EN

Stack Overflow用户

发布于 2020-12-24 04:14:02

快速解释

如果使用krb5.conf,请确保已设置

代码语言:javascript
复制
[libdefaults]
  default_realm=EXAMPLE.COM

如果不使用krb5.conf,则同时设置

  • java.security.krb5.kdc
  • java.security.krb5.realm

进一步阅读

作为参考,请参阅KerberosUtil的源代码

和底层kerberos库getDefaultRealm

请注意,缺省情况下,getDefaultRealm会在krb5.conf default_realm中查找

代码语言:javascript
复制
get("libdefaults", "default_realm");

还有另一个地方可以定义realm……通过属性:

代码语言:javascript
复制
java.security.krb5.realm

如果也未通过java.security.krb5.kdc定义kdc,则会以静默方式忽略此值

这一事实已记录在here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53049977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档