首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用SparkLauncher的Kerberos Auth -“找不到KDC”错误

使用SparkLauncher的Kerberos Auth -“找不到KDC”错误
EN

Stack Overflow用户
提问于 2020-12-02 04:40:12
回答 1查看 1.6K关注 0票数 0

我们正试图从使用spark-submit转向使用SparkLauncher (运行在Cloudera Hadoop上的Spark2.4)的编程解决方案,并且遇到了这个问题:

代码语言:javascript
运行
复制
Exception javax.security.auth.login.LoginException: Cannot locate KDC 

在调用startApplication()之后作业进程的错误输出流上。

启动器使用与spark-submit相同的设置进行配置,包括设置"spark.kerberos.principal“和"spark.kerberos.keytab”(也尝试使用spark.yarn前缀,以及使用setSparkArg()设置--principle和--keytab --但这些属性不是问题)。

尽管krb5.conf在所有机器和驱动程序上都处于默认位置,但我尝试设置

代码语言:javascript
运行
复制
.setConf("spark.executor.extraJavaOptions", "-Djava.security.krb5.conf=/etc/krb5.conf")
.setConf("spark.driver.extraJavaOptions", "-Djava.security.krb5.conf=/etc/krb5.conf")

同样,结果也是一样。

对于spark-submit调用,没有其他与auth/kerberos相关的conf设置(只设置了主体和keytab ),并且所有其他conf设置都会复制到启动器上。

SparkLauncher的输出确认所有Spark属性都已按预期设置。

“无法定位KDC”表示没有找到krb5.conf文件,但是如果它位于默认位置,而spark-submit显然找到了它,那怎么会这样呢?

EN

回答 1

Stack Overflow用户

发布于 2021-05-28 08:51:21

此错误并不一定意味着它无法找到krb5.conf文件。当您的krb5.conf文件没有包含您的主体的正确的域或领域规范时,也会出现这种情况。

例如,如果您的主体是my_principal@MY.NEW.REALM.COM,而krb5.conf文件只指定了my_principal@MY.OLD.REALM.COM,那么您也会得到这个错误。

此外,如果您的krb5.conf位于默认位置(/etc/krb5.conf)以外的位置,我在设置javaExtraOpts时遇到了问题。我发现在运行之前更新env var是有帮助的:export SPARK_SUBMIT_OPTS="-Djava.security.krb5.conf=/path/to/krb5-new.conf"

最后,我发现在spark-submit中设置--principle和--keytab args实际上导致了问题,删除它们可能会有所帮助。

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

https://stackoverflow.com/questions/65098158

复制
相关文章

相似问题

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