1、BlockManager:
BlockManager是Spark的分布式存储系统,主要的结构:
BlockManagerMaster:
在Driver端启动,负责接收Executor上的BlockManger的注册
管理BlockManager的元数据信息
BlockManager:
在每一个Executor上启动
负责管理所有节点上的数据
1、BlockManager:主要由四部分构成,分别是MemoryStore、DiskStore、BlockTransferService、BlockManagerWorker
MemoryStore:负责的是对内存上的数据进行读写和存储
DisStore:负责对磁盘的数据进行存储和读写
BlockTransferService:负责建立网络连接,因为需要向Driver端进行汇报,并且进行shuffle的时候,下游的stage需要去上游的stage去拉取数据,此时也需要建立网络连接。
BlockManagerWorker:负责对其他的BlockManager的数据进行读写
2、流程:
1、首先每一个Executor构造的时候会实例化BlockManager实例化的时候,
2、此时实例化的BlockManager会向Driver中的BlockManager