最近调研了spark-sql on yarn时UserGroupInformation初始化最早时机,将spark-sql on yarn的整个提交流程阅读了一遍,确定了SparkSubmit类范围,对SparkSubmit进行了阅读和跟进,找出了关键的代码,如下图所示,lazy val secMgr = new SecurityManager(sparkConf),在SecurityManager构造方法中完成了UserGroupInformation初始化,该处为最早的初始化地方。
对该部分代码进行了堆栈采集,如下图:
从org.apache.spark.SecurityManager.(SecurityManager.scala:220)构造方法往下跟进,找到org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:683),标识UserGroupInformation的初始化,此处为UserGroupInformation在spark-sql on yarn时最早的初始化时机。
欢迎关注公众号和访问网站,了解更多技术资讯:
评论区