基于yarn两种提交模式深度解剖

2019-02-12  本文已影响0人  有一束阳光叫温暖

一、 spark-submit提交(yarn-cluster)

  1. 发生请求ResourceManager,请求启动ApplicationMaster( 在某个nodemanger上,启动ApplicationMaster)--ApplicationMaster相当于Driver
  2. AM找到RM,请求container,启动executor
  3. RM分配一批container给AM,用于启动executor
  4. AM连接其它NM(worker),来启动executor.
  5. executor启动后,向AM反向注册

二、spark-submit提交(yarn-client)

  1. 发生请求ResourceManager,请求启动ExcutorLauncher( ApplicationMaster)
  2. EL找到RM,请求container,启动executor
  3. RM分配一批container给EL,用于启动executor
  4. EL连接其它NM(worker),来启动executor
  5. exector启动后,反向注册到本地Driver上

三、 两种区别

  1. yarn-client用于测试,因为driver运行在本地客户端,负责调度application,会与yarn集群产生超大量网络通信从而导致网卡流量激增,好处在于,直接执行时,本地可以看到所有log。方便调试
  2. yarn-cluster,用于生产环境,driver运行在nodemanager,没有网卡流量激增的问题。缺点在于调式不方便,本地用spark-submit提交后,看不到log,只能通过yarn application-logs application_id这种命令来查看。
基于YARN的两种提交模式深度剖析.png
上一篇 下一篇

猜你喜欢

热点阅读