Spark-submit
部署模式
本地模式local[*]、standalone 模式、yarn模式;对于standalone模式和yarn模式分为:client(客户端)和cluster(集群) 提交方式
Client模式和cluster模式区别
主要的区别是driver运行的节点;使用deploy-mode client/cluster来指定运行的模式
client模式(yarn)
1:在本地机器提交jar,即spark-submit命令,然后在本地开启一个driver,把jar包提交到master;让master来控制执行应用
2:流程:spark-submit命令在本地机器开启driver,driver把jar相关的流程交给master进行调度,master在worker节点开启executor运行相关的任务,相对应的executor也需要向driver反向注册,汇报相关进度;executor最终会把结果发送到driver(客户端可以看到结果)
cluster模式(yarn)
1:在本地提交任务,即spark-submit命令,但是此时客户端不会创建driver,会把任务发送给master,master把请求封装成一个applicationMaster即driver。会在worker相关的节点开启一个容器去创建applicationMaster,即在集群中的某一个节点中创建driver
2:流程:本地机器提交任务,把请求发送给master,master会把请求转换为一个ApplicationMaster即driver,会在集群的某个节点中开启driver,然后master根据driver的请求,在相关的worker开启executor中运行任务,然后这些executor也需要向driver汇报
3:此时的driver不是本地机器了
4:查看结果,知道:端口号已经改变了,机器也已经改变