1. yarn-cluster模式
与standalone模式不同,yarn-cluster是基于yarn集群,yarn集群上有ResourceManager(RM)和NodeManager(NM)。
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反向注册
7、后续的DAGScheduler、TaskScheduler、Shuffle等操作都是和standaloe一样。
2.yarn-client模式
从上图可以看出,yarn-client和yarn-cluster的区别就在于,Driver是运行在本地客户端,它的AM只是作为一个Executor启动器,并没有Driver进程。
1、yarn-client,driver运行在本地客户端,负责调度Application,会与yarn集群产生大量的网络通信,从而导致网卡流量激增。好处是,执行时可以在本地看到所有的log,便于调试。所以一般用于测试环境。
2、yarn-cluster,driver运行在NodeManager,每次运行都是随机分配到NM机器上去,不会有网卡流量激增的问题。缺点就是本地提交后看不到log,只能通过yarn application-logs application id命令来查看。比较麻烦。
评论已关闭
暂无评论