二、基于yarn的两种提交模式

一 yarn-cluster模式

1. 发送请求到ResourceManager,请求启动ApplicationMaster。

2. 在某个NodeManager上启动ApplicationMaster。

3. ApplicationMaster向ResourceManager申请container,启动executor。

4. 分配一批container,用于启动executor。

5. AM连接其它NM,启动executor。

6. executor启动后,向AM反向注册。

二 yarn-client模式

1. 发送请求到ResourceManager,请求启动ApplicationMaster。

2. 在某个NodeManager上分配一个container,启动ApplicationMaster。这里的AM其实只是一个ExecutorLanucher。

3. ApplicationMaster向ResourceManager申请container,启动executor。

4. 分配一批container,用于启动executor。

5. AM连接其它NM,启动executor。

6. executor启动后,反向注册到本地的Driver上。

注:红色字体为区分点。

yarn-cluster与yarn-client用途建议:

A.  yarn-claster用于生产环境。Driver运行在nodemanager,不需要通过网络传输到提交机器,没有网卡流量激增的问题。

缺点在于,调试不方便。本地spark-submit后,看不到log,只能通过yarn application logs application_id这种命令来查看,很麻烦。

B.  yarn-client用于测试环境。Driver运行在本地客户端,负责调度application,会与yarn集群产生超大量网络通信,从而导致网卡流量激增。

好处在于,可以在本地看到所有log,方便调试。

猜你喜欢

转载自blog.csdn.net/tianlan996/article/details/86528281