Spark调度架构原理详解-创新互联

1.启动spark集群,就是执行sbin/start-all.sh,启动master和多个worker节点,master主要作为集群的管理和监控,worker节点主要担任运行各个application的任务。master节点需要让worker节点汇报自身状况,比如CPU,内存多大,这个过程都是通过心跳机制来完成的

创新互联专业为企业提供夏邑网站建设、夏邑做网站、夏邑网站设计、夏邑网站制作等企业网站建设、网页设计与制作、夏邑企业网站模板建站服务,10余年夏邑做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

2.master收到worker的汇报信息之后,会给予worker信息

3.driver提交任务给spark集群[driver和master之间的通信是通过AKKAactor来做的,也就是说master是akkaactor异步通信模型中的一个actor模型,driver也是一样,driver异步向mater发送注册信息(registerApplication)异步注册信息]

4.master节点对application预估,7个G的内存完成任务,对任务进行分配,每一个worker节点上都分配3.5G的内存去执行任务,在master就对各个worker上的任务进行整体的监控调度

5.worker节点领到任务,开始执行,在worker节点上启动相应的executor进程来执行,每个executor中都有一个线程池的概念,里面存有多个task线程

6.executor会从线程池中取出task去计算rddpatition中的数据,transformation操作,action操作

7.worker节点向driver节点汇报计算状态

通过本地并行化集合创建RDD

public class JavaLocalSumApp{
	public static void main(String[] args){
		SparkConf conf = new SparkConf().setAppName("JavaLocalSumApp");
		JavaSparkContext sc = new JavaSparkContext(conf);
		List list = Arrays.asList(1,3,4,5,6,7,8);
		//通过本地并行化集合创建RDD
		JavaRDD  listRDD = sc.parallelize(list);
		//求和
		Integer sum = listRDD.reduce(new Function2(){
			@Override
			    public Integer call(Integer v1,Integer v2) throws Exception{
				return v1+v2;
			}
		}
		);
		System.out.println(sum)
	}
}
//java 中的函数式编程,需要将编译器设置成1.8
listRDD.reduce((v1,v2)=> v1+v2)

新闻标题:Spark调度架构原理详解-创新互联
网站链接:http://bzwzjz.com/article/dshhpc.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站建设公司 成都响应式网站建设 响应式网站建设 成都做网站建设公司 成都网站建设 网站制作公司 成都网站建设 高端网站设计推广 重庆外贸网站建设 外贸网站设计方案 网站建设公司 成都网站设计 高端网站设计 网站设计制作报价 网站建设费用 高端品牌网站建设 成都网站建设 定制网站制作 成都网站设计公司 成都营销网站制作 手机网站制作 网站制作