远程提交Spark任务到Yarn集群时Kerberos主体不匹配错误排查
Spark远程提交Yarn Kerberos主体不匹配问题解答
核心结论
服务器Kerberos主体的配置主要在集群端,但本地主机也需要做相应适配设置。
集群端的配置位置
- YARN ResourceManager的Kerberos主体配置在集群的
yarn-site.xml文件中,对应参数为yarn.resourcemanager.principal,当前集群该参数设置为rm/node1.tdomain@DOMAIN,这是服务器实际使用的主体。 - 集群Kerberos KDC的配置文件(如
krb5.conf)定义了域规则,主体中的域名部分(DOMAIN)由该配置决定。
本地主机需要调整的设置
- 检查本地Kerberos配置文件:Windows系统为
krb5.ini,Linux为krb5.conf,确保其中的域配置与集群KDC一致,比如默认域是否匹配TDOMAIN,或是否正确映射集群域。 - 同步主机名解析:在本地
hosts文件中添加集群节点的映射关系:11.22.33.155 node1.tdomain,避免本地将主机名解析为IP,导致生成错误的预期主体rm/11.22.33.155@TDOMAIN。 - 核对Spark提交配置:检查
SparkSubmit.conf或spark-defaults.conf中的参数,确保spark.yarn.principal等相关配置与集群的Kerberos域规则兼容。
内容的提问来源于stack exchange,提问作者Alexander Lopatin
相关产品推荐
相关产品推荐

