🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## Spark的runtime? 1. ClusterManager:在Standalone模式中即为Master节点(主节点),控制整个集群,监控Worker. 在YARN中为ResourceManager 2、Worker: 从节点,负责控制计算节点,启动Executor或Driver。在YARN模式中为NodeManager, 负责计算节点的控制。 3、Driver: 运行Application的main()函数并创建SparkContext。 4、Executor: 执行器,在worker node上执行任务的组件、用于启动线程池运行任务。每个Application拥有独立的一组Executor。 5、SparkContext: 整个应用的上下文,控制应用的生命周期。 6、RDD:Spark的计算单元,一组RDD可形成执行的有向无环图RDD Graph。 7、DAG Scheduler: 根据作业(Job)构建基于Stage的DAG,并提交Stage给TaskScheduler。 8、TaskScheduler: 将任务(Task)分发给Executor。 9、SparkEnv: 线程级别的上下文,存储运行时的重要组件的引用。 ## SparkEnv内构建并包含如下一些重要组件的引用。 (1)MapOutPutTracker: 负责Shuffle元信息的存储。 (2)BroadcastManager: 负责广播变量的控制与元信息的存储。 (3)BlockManager: 负责存储管理、创建和查找快。 (4)MetricsSystem: 监控运行时性能指标信息。 (5)SparkConf: 负责存储配置信息。