Async Design - 3
2015-09-02 14:05:27 3 举报
Async Design - 3是一种异步设计模式,它允许多个操作同时进行,从而提高系统的响应速度和吞吐量。这种设计模式的核心思想是将耗时的操作分解为多个独立的任务,然后通过多线程或事件驱动的方式并行执行这些任务。这样,当一个任务正在等待某个资源时,其他任务可以继续执行,从而避免了阻塞现象。Async Design - 3的关键组件包括任务队列、调度器和执行器。任务队列用于存储待执行的任务,调度器负责将任务分配给空闲的执行器,而执行器则负责实际执行任务。通过这种设计模式,可以实现高度可扩展和高性能的系统架构。
作者其他创作
大纲/内容
Executor和Task,其实就是负责执行,对RDD的partition进行并行的计算。也就是执行我们队RDD定义的,比如map、flatMap、reduce等算子操作。
Spark集群的节点之一,就是你提交的Spark程序锁运行的地方
Task线程
Driver进程启动之后,就会做一些初始化的操作,在这个过程中,就会发送请求到Maste上,进行Spark应用程序的注册,说白了,就是让Master知道,有一个新的Spark应用程序要运行。Master在收到了Spark应用程序的注册申请之后,会发送请求给Worker,进行资源的调度和分配,资源分配就是executor的分配Worker收到Master的请求之后,会为Spark应用启动ExecutorExecutor启动之后,会向Driver进行反注册,这样Driver就知道哪些Executor是为他进行服务的了。Driver上被注册了一些Executor之后,就可以开始正式执行我们的Spark应用程序了。创建初始RDD,读取数据源。HDFS文件内容被读取到多个worker节点上,形成内存中的分布式数据集,也就是初始的RDDDriver会根据我们对RDD顶i有的操作,提交一些task取executor上Executor收到task后,会启动多个线程进行执行task会对RDD的partition数据执行指定的算子操作,形成新的RDD的partition
Executor 进程
spark01=masterMaster是个进程,主要负责* 资源调度和分配* 集群的监控
Driver:(进程)我们编写的Spark程序就在Driver上,由Driver进程执行
Spark02 workerWorker是一个进程主要负责:* 用自己的内存存储RDD的某个或者某些partition* 启动其它进程和线程对RDD上的partition进行并行的处理和计算
0 条评论
下一页