yarn-cluster和yarn-client的区别
- SparkContext初始化不同,这也导致了Driver所在位置的不同,Yarn-Cluster的Driver是在集群的某一台NM上,但是Yarn-Client就是在driver所在的机器上;
- 而Driver会和Executors进行通信,这也导致了Yarn_cluster在提交App之后可以关闭Client,而Yarn-Client不可以;
- 日志: Yarn-Cluster 需要通过 yarn logs -applicationId (启动appid)查看,
Yarn-Client 日志查看仅需在本地查看;
- 最后再来说应用场景,Yarn-Cluster适合生产环境,Yarn-Client适合交互和调试。
流程:
1、发送请求到RM,请求启动AM
2、RM会分配container,在某个NM上启动AM
3、AM启动后,和RM通讯,请求container来启动executor
4、RM会给AM提供一批container用于启动executor
5、AM连接其他NM启动executor
6、executor启动后向AM反向注册
yarn-client
yarn-cluster