Spark on Yarn

spark on yarn
spark 提交到yarn 的具体的步骤
一、
首先,SparkSubmit 首先将命令行的参数进行封装 new SparkSubmitArguments , 之后准备提交环境 prepareSubmitEnvironment,进而运行doRunMain 方法,其方法主要是运行runMain方法,该方法中,加载指定的类,查询指定类中的main方法,并且调用指定类中的静态的main方法 (mainMethod.invoke(null, childArgs.toArray))此处的null 参数,就是说明调用的是这个指定类的静态main方法
其次就是,客户端创建客户端参数 new ClientArguments,通过–class进行封装,给userclass赋予值;接下来,创建RM 连接客户端对象,yarnClient = YarnClient.createYarnClient,
运行run方法,向RM 提交submitApplication,通过start方法启动Yarn客户端,并且创建Container的环境数据createContainerLaunchContext,最后启动应用yarnClient.submitApplication(appContext)

二、
① RM启动AM ,创建 new ApplicationMaster(amArgs, new YarnRMClient),AM 通过run方法中的runDriver 运行Driver,startUserApplication(),获取用户应用程序的main方法userClassLoader.loadClass(args.userClass).getMethod(“main”, classOf[Array[String]]),并且执行用户应用程序 mainMethod.invoke
② AM 向 RM 注册(申请资源)registerAM,RM 返回可用的资源列表
③ AM 启动容器,容器启动Executor 执行后台
④ 容器向AM 反向注册,AM 创建计算的对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值