1.spark基于自带的Standalone资源调度框架,Driver部署任务到client
这里用到spark-submit一下三个参数
客户端命令:
客户端基于standalone client提交任务 standalone-client提交任务模型1):spark集群启动后,worker节点向master节点汇报资源,master节点掌握资源;
2):客户端提交spark application到master,Driver会在客户端启动
提交任务是才会有3):客户端向master申请资源;
4):master收到请求后找到满足资源的worker
5):Driver向worker发送task,并且监控task的执行,与执行结果汇报客户端控制台
2.spark基于自带的Standalone资源调度框架,Driver部署任务到cluster
客户端命令:
提交后会发现控制退出打印信息
standalone-cluster提交任务模型1):spark集群启动后,worker节点向master节点汇报资源,master节点掌握资源;
2):客户端提交Spark application,首先客户端向Master申请启动Driver(Driver不在本地启动);
3):Master收到请求随机找到一台Worker节点,启动Driver;
4):Driver向Master申请资源;
5):Master在满足资源的Worker节点上,启动Executor,Driver向Executor发送task,监控task执行,回收结果
3.spark基于yarn资源调度框架,Driver部署任务到client
yarn-client提交任务模型1):spark集群启动后,worker节点向master节点汇报资源,ResourceManager节点掌握资源;
2):客户端提交Sparkapplication,Driver在客户端启动,客户端向ResourceManager申请启动ApplicationMaster;
3):ResourceManager随机找到一台NodeManager节点启动ApplicationMaster;
4):ApplicationMaster启动后向ResourceManager申请满足资源Executor
5):ResourceManager返回满足资源的NodeManager,ApplicationMaster在NodeManager启动Executor
6):Excutor启动之后,反向注册给Driver;
7):Driver发送task,监控执行,回收结果到客户端;
4.spark基于yarn资源调度框架,Driver部署任务到cluster
yarn-cluster提交任务模型
1): 在客户端提交Spark application,客户端向ResourceManager申请启动ApplicationMaster;
2): ResourceManager收到请求随机找到一台NodeManager节点启动ApplicationMaster(Driver);
3): ApplicationMaster启动之后向ResourceManager申请资源用于启动Executor;
4): ResourceManager返回满足资源的NodeManager节点,ApplicationMaster连接NodeManager节点启动Executor;
5): Executor反向注册给ApplicationMaster(Driver)
6): ApplicationMaster(Driver)发送task,监控task执行,回收结果;
网友评论