1. Spark yarn模式任务提交
Spark yarn模式任务提交有两种,Yarn-cluster,Yarn-client,默认client
1.1 名词简介
1. ResourceManager
是集群所有应用程序的资源管理器,能够管理集群的计算资源并为每个Application分配,它是一个纯粹的调度器。
2. NodeManager
是每一台slave机器的代理,执行应用程序,并监控应用程序的资源使用情况。
3. Application Master
每一个应用程序都会有一个Application Master,它的主要职责是向RM申请资源、在每个NodeManager上启动executors、监控和跟踪应用程序的进程等。
4. Driver
负责创建SparkContext(spark会话框,准备spark程序的运行环境) 在Spark中由SparkContext负责与ClusterManager通讯,进行资源的申请,任务的分配和监控等。当Executor部分运行完毕后,Driver同时负责将SaprkContext关闭,通常创建SparkContext的机器代表Driver.
1.2 yarn-cluster
cluster模式下driver运行在yarn上,避免了Application Master与活的client的频繁交互
- 客户端生成作业信息提交给ResourceManager,
- RM在会在某个NodeManager分配一个container并启动 Application Master ,AM初始化SparkContext,开始驱动程序,这个NodeManager便是driver
- Application Maste向ResourceManager申请资源,并在每台NodeManager上启动相应的executors
- Executor向NodeManager的Application Master注册汇报,并完成相应的任务
1.3 yarn-client
- 客户端生成作业信息提交给Resou