首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用yarn rest api提交作业到spark?我想使用YARN REST API提交作业给spark

使用YARN REST API提交作业到Spark可以通过以下步骤实现:

  1. 确保你已经安装了YARN和Spark,并且配置正确。
  2. 首先,你需要创建一个JSON格式的作业描述文件,包含作业的相关参数和配置信息。例如,你可以创建一个名为job.json的文件,内容如下:
代码语言:txt
复制
{
  "application-id": "spark-application",
  "application-name": "My Spark Job",
  "am-container-spec": {
    "commands": {
      "command": "spark-submit --class com.example.MySparkJob --master yarn --deploy-mode cluster /path/to/your/spark/job.jar"
    },
    "environment": {
      "environment-variable": [
        {
          "name": "SPARK_HOME",
          "value": "/path/to/your/spark/home"
        }
      ]
    },
    "local-resources": {
      "resource": [
        {
          "name": "your-spark-job.jar",
          "type": "FILE",
          "visibility": "APPLICATION",
          "uri": "file:///path/to/your/spark/job.jar"
        }
      ]
    }
  },
  "unmanaged-AM": false,
  "max-app-attempts": 1,
  "resource": {
    "memory": 1024,
    "vCores": 1
  },
  "application-type": "SPARK"
}

在这个文件中,你需要修改以下参数:

  • application-id:作业的唯一标识符。
  • application-name:作业的名称。
  • am-container-spec:AM(Application Master)容器的配置信息,包括命令、环境变量和本地资源等。
  • commands:AM容器启动时执行的命令,这里使用spark-submit命令提交Spark作业。
  • environment:AM容器的环境变量配置,这里设置了SPARK_HOME变量。
  • local-resources:AM容器使用的本地资源,这里指定了Spark作业的jar包。
  • resource:作业的资源需求,包括内存和虚拟核心数。
  • application-type:作业的类型,这里是SPARK。
  1. 使用curl或其他HTTP客户端发送POST请求,将作业描述文件提交给YARN REST API。假设你将作业描述文件保存为job.json,可以使用以下命令提交作业:
代码语言:txt
复制
curl -X POST -H "Content-Type: application/json" -d @job.json http://yarn-rest-api-url/v1/cluster/apps

其中,yarn-rest-api-url是YARN REST API的URL地址。

  1. YARN将会返回一个作业的提交状态和应用ID。你可以使用YARN REST API查询作业的状态和日志信息。

以上是使用YARN REST API提交作业到Spark的基本步骤。根据实际需求,你可以根据YARN REST API的文档进一步了解和调整作业的配置参数。

腾讯云提供了一系列与云计算相关的产品和服务,包括云服务器、云数据库、云存储等。你可以访问腾讯云官网了解更多详情:腾讯云

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 如何在Hue中添加Spark Notebook

    CDH集群中可以使用Hue访问Hive、Impala、HBase、Solr等,在Hue3.8版本后也提供了Notebook组件(支持R、Scala及python语言),但在CDH中Hue默认是没有启用Spark的Notebook,使用Notebook运行Spark代码则依赖Livy服务。在前面Fayson也介绍了《Livy,基于Apache Spark的开源REST服务,加入Cloudera Labs》、《如何编译Livy并在非Kerberos环境的CDH集群中安装》、《如何通过Livy的RESTful API接口向非Kerberos环境的CDH集群提交作业》、《如何在Kerberos环境的CDH集群部署Livy》、《如何通过Livy的RESTful API接口向Kerberos环境的CDH集群提交作业》、《如何打包Livy和Zeppelin的Parcel包》和《如何在CM中使用Parcel包部署Livy及验证》,本篇文章Fayson主要介绍如何在Hue中添加Notebook组件并集成Spark。

    03

    Spark on YARN 部署实验

    以前的Spark部署都是使用的standalone方式,集群中的每台机器都安装部署Spark,然后启动Master和Worker进程运行Spark。今天尝试一下Spark on YARN的部署方式。 一、实验目的 1. 只在一台机器上安装Spark,基于已有的Hadoop集群,使用YARN调度资源。 2. 不启动Master和Worker进程提交Spark作业。 3. 通过YARN的WebUI查看Spark作业的执行情况。 二、实验环境: 4台CentOS release 6.4虚拟机,IP地址为 192.168.56.101 192.168.56.102 192.168.56.103 192.168.56.104 192.168.56.101是Hadoop集群的主,运行NameNode和ResourceManager进程。 192.168.56.102、192.168.56.103是Hadoop的从,运行DataNode和NodeManager进程。 192.168.56.104安装Pentaho的PDI,安装目录为/home/grid/data-integration。 Hadoop版本:2.7.2 Spark版本:1.5.0 PDI版本:6.0 Hadoop集群的安装配置参考 http://blog.csdn.net/wzy0623/article/details/50681554 三、安装Spark 只在192.168.56.101一台机器上上安装Spark,具体安装步骤参考 http://blog.csdn.net/wzy0623/article/details/50946766 四、配置步骤 1. 启动Hadoop集群 # 启动hdfs /home/grid/hadoop-2.7.2/sbin/start-dfs.sh # 启动yarn /home/grid/hadoop-2.7.2/sbin/start-yarn.sh 2. 将spark自带的与Hadoop集成的jar包上传到hdfs hadoop fs -put /home/grid/spark/lib/spark-assembly-1.5.0-hadoop2.6.0.jar /user/ 3. 编辑spark-defaults.conf文件,添加如下一行 spark.yarn.jar=hdfs://master:9000/user/spark-assembly-1.5.0-hadoop2.6.0.jar 修改后的spark-defaults.conf文件如图1所示

    04

    Hadoop学习笔记(四)之YARN

    之前,MapReduce 是 Master/Slave 结构,也就是集群中一个 Job Tracker 多个 Task Tracker 。 Job Tracker 负责资源管理和作业调度,Task Tracker 负责定期向 Job Tracker 报告节点的状态(节点死活,资源使用情况、任务执行情况)以及接收 Job Tracker 的命令来执行。不知你是否发现,问题就出现在这一个 Job Tracker 上,它挂掉,整个集群都完蛋。而且它由于负责了所有节点的RPC 请求,压力可想而知,也因此成为了节点规模扩大的瓶颈。最后一点便是集群仅支持 MapReduce,不支持其他计算框架。如果想使用 Spark 呢?对不起,再搭建一个集群,想使用 HBase 只能再搭建一个集群。这样的一堆集群既不好管理,又使得资源利用率极低(一段时间内这个集群忙,那个集群闲),同时跨集群的数据转移更是问题。于是乎,YARN 诞生了。更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』

    03

    0812-5.16.2-如何获取CDSW上提交Spark作业的真实用户

    在一个CDSW环境中,由于其中一个租户经常提交大型Spark作业将YARN上租户所在的资源池资源用到95%以上,从而影响到同一租户下其他用户提交作业的运行。这种情况下我们没办法直接找到这些大型作业的实际提交人,是因为我们在为CDSW做多租户配置的时候会将登录CDSW的某一批用户统一绑定到同一个租户下(这样设计的目的主要是为了简化YARN的租户管理,而不用为每个用户创建资源池队列),所以导致在YARN的界面上看到的都是同一个租户,而无法对应到实际CDSW的用户以及这个人提交的大型作业。本文主要描述通过修改Spark的配置来将作业的实际提交人的用户名展示到Spark UI,非CDSW的YARN的多租户管理也会碰到类似问题。

    04
    领券