SparkEnv
SparkEnv 是spark的执行环境对象,存在driver 或 executor 进程中。
BlockManager
Driver Application 和 Executor 都会创建 BlockManager .
Manager running on every node (driver and executors) which provides interfaces for putting and retrieving blocks both locally and remotely into various stores (memory, disk, and off-heap).
BlockManagerMaster
BlockManagerMaster 是在SparkEnv中创建
如果当前应用程序是Driver,则创建BlockManagerMasterEndpoint,并且注册到RpcEnv中;
如果当前应用程序是Executor,则从RpcEnv中找到BlockManagerMasterEndpoint的引用。
// SparkEnv.scala
val blockManagerMaster = new BlockManagerMaster(registerOrLookupEndpoint(
BlockManagerMaster.DRIVER_ENDPOINT_NAME,