调试 Hadoop / Kerberos 问题可能是 “困难的”。 一个有用的技术是通过设置 HADOOP_JAAS_DEBUG 环境变量在 Hadoop 中启用对 Kerberos 操作的额外记录。
bash export HADOOP_JAAS_DEBUG=true
JDK 类可以配置为通过系统属性 sun.security.krb5.debug 和 sun.security.spnego.debug = true 启用对 Kerberos 和 SPNEGO / REST 认证的额外日志记录。
-Dsun.security.krb5.debug=true -Dsun.security.spnego.debug=true
所有这些选项都可以在 Application Master 中启用 :
spark.yarn.appMasterEnv.HADOOP_JAAS_DEBUG true spark.yarn.am.extraJavaOptions -Dsun.security.krb5.debug=true -Dsun.security.spnego.debug=true
最后,如果 org.apache.spark.deploy.yarn.Client 的日志级别设置为 DEBUG,日志将包括获取的所有 tokens 的列表,以及它们的到期详细信息。