本地提交spark任务至yarn

关于本地提交spark任务至yarn,之前一直采用的是本地安装hadoop、spark等环境后通过相关API 提交任务。

   此种方法的不足:

  1. 本地需要安装hadoop、spark环境,对于新手来说非常痛苦,非常容易出现各种问题,如本地配置文件版本过多导致任务受影响等。
  2. 每个人提交任务的user都是自己电脑的user,容易出现各种问题,如hdfs、hive相关的权限问题
  3. 相关的api提交任务看不到相信日志等

新的提交任务的方式:

 采用thrift实现了一个任务提交代理服务,客户端与服务端交互,服务端与yarn交互,对客户端提交三个方法:

  1. 提交任务
  2. 查看任务日志
  3. kill任务

该方式完美解决老方式的问题,本地不需要安装环境,写好代码提交即可。特点:

  1. 在集群中启动server端,支持多任务同时提交
  2. 所有任务的user都是启动server的用户

不足之处:

  1. 需要启动并维护该服务

补充:

 目前只提供了spark on yarn三个方法,后续还可以在服务端做更多控制功能,更多种任务提交模式

代码参考:

https://download.csdn.net/download/u013314600/11376228

### 回答1: 答:Spark提交Yarn的流程主要包括以下几个步骤:1.运行Spark应用程序;2.将Spark应用程序打包成jar或zip文件;3.使用spark-submit命令提交应用程序到Yarn;4.Yarn接收应用程序并将其分配给节点;5.Yarn调度器负责调度应用程序;6.Yarn监控应用程序的执行;7.应用程序结束时,Yarn将结果发送给用户。 ### 回答2: 将Spark程序提交YARN的流程如下: 1. 准备YARN集群:首先需要搭建一个YARN集群,包括至少一个YARN管理节点(ResourceManager)和多个YARN工作节点(NodeManager)。ResourceManager负责整个集群的资源分配和任务调度,NodeManager负责执行具体的计算任务。 2. 准备Spark程序和配置:将要运行的Spark程序编写好,并进行必要的配置。Spark程序可以使用Scala、Java或Python等语言编写,配置文件可以设置Spark应用的相关参数,如内存分配、并行度等。 3. 打包Spark应用程序:将编写好的Spark程序及其依赖库打包成一个可执行的Jar包,以方便在YARN上运行。 4. 提交Spark应用到YARN:使用YARN提供的命令或客户端工具,将打包好的Spark应用程序提交YARN集群。在提交时,需要指定应用程序的配置信息,如所需的资源、启动脚本、提交人等。 5. YARN任务调度:一旦Spark应用程序被提交YARN集群,YARN的ResourceManager会对其进行资源分配和任务调度。根据应用程序的需求,ResourceManager会为其分配合适的资源,并确定在哪些节点上启动相应的任务。 6. 启动Spark任务YARN的NodeManager接收到Spark任务后,负责启动Executor进程。每个Executor进程是一个独立的Java进程,负责执行Spark应用程序的具体计算任务。 7. 执行Spark应用程序:一旦Executor进程启动,Spark应用程序开始在YARN集群上执行。Executor会根据应用程序的逻辑,调度并执行具体的计算任务,包括读取数据、转换处理等操作。 8. 监控和管理:在Spark应用程序执行的过程中,可以通过YARN提供的监控工具来查看任务的运行状态、资源使用情况等。此外,还可以通过YARN的管理命令对任务进行调度、监控和管理。 9. 完成和收集结果:一旦Spark应用程序执行完毕,可以从YARN集群上收集各个任务的输出结果。根据需要,可以将结果存储到HDFS、本地文件系统或其他存储介质中。 以上是将Spark程序提交YARN的基本流程,通过YARN的资源管理和任务调度,可以有效地管理和利用集群资源,并实现分布式的Spark计算。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

朱继业1993

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值