共计 559 个字符,预计需要花费 2 分钟才能阅读完成。
在阅读
SparkSubmit 源代码时,重点关注 Configuration 的资源文件的加载情况,默认通过 new Configuration() 构造方法创建时,只会加载 core-default.xml 和core-site.xml文件,但是 SparkSubmit 中打印 Configuration 时,发现还会加载 yarn-site.xml,SparkSubmit 代码中没有看到显示加载 yarn-site.xml 的地方,那 yarn-site.xml 从哪里加载进来的?跟进
SparkSubmit 源代码,找到关键代码 lazy val secMgr = new SecurityManager(sparkConf), secMgr懒初始化,触发了 yarn-site.xml 的加载。如下图所示:
跟进
new SecurityManager(sparkConf),打印yarn-site.xml 的相关堆栈,如下所示:
上述的关键代码,
org.apache.hadoop.mapred.JobConf.(JobConf.java:119),打开 JobConf 这个类,如下图:
继续打开
ConfigUtil.loadResources(),如下图,在ConfigUtil 中显示加载了yarn-site.xml。
欢迎关注公众号和访问网站,了解更多技术资讯:

正文完