架构图
yarn-cluster
yarn-client
区别
Yarn-cluster
spark的driver运行在applicationMaster内,启动流程为:
这张图可能比较直观
Yarn-client
Spark client向yarn的RM申请资源容器,得到AM,但是这个AM运行在其他nodemanager,并得到其他executor的运行容器。而spark的driver运行在client中。
总结
Yarn-client有单点故障的问题,当client意外死亡后,spark的driver也就一起死亡,并没有其他手段可以恢复。而yarn-cluster中的spark driver运行在有AM的nodemanager,死亡后可以继续在其他nodemanager恢复。
Yarn-client的唯一优点就是方便看调试信息,因为它就跑在client上,不会出现在集群的其他位置。