【问题标题】:YARN REST API - Spark job submissionYARN REST API - Spark 作业提交
【发布时间】:2016-01-12 01:06:21
【问题描述】:

我正在尝试使用 YARN REST API 提交 spark-submit 作业,我通常通过命令行运行。

我的命令行 spark-submit 看起来像这样

JAVA_HOME=/usr/local/java7/ HADOOP_CONF_DIR=/etc/hadoop/conf /usr/local/spark-1.5/bin/spark-submit \
--driver-class-path "/etc/hadoop/conf" \
--class MySparkJob \
--master yarn-cluster \
--conf "spark.executor.extraClassPath=/usr/local/hadoop/client/hadoop-*" \
--conf "spark.driver.extraClassPath=/usr/local/hadoop/client/hadoop-*" \
spark-job.jar --retry false --counter 10

阅读 YARN REST API 文档 https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/ResourceManagerRest.html#Cluster_Applications_APISubmit_Application,我尝试创建 JSON 有效负载以进行 POST,如下所示

{
  "am-container-spec": {
    "commands": {
      "command": "JAVA_HOME=/usr/local/java7/ HADOOP_CONF_DIR=/etc/hadoop/conf org.apache.hadoop.yarn.applications.distributedshell.ApplicationMaster  --jar spark-job.jar --class MySparkJob --arg --retry --arg false --arg --counter --arg 10"
    }, 
    "local-resources": {
      "entry": [
        {
          "key": "spark-job.jar", 
          "value": {
            "resource": "hdfs:///spark-job.jar", 
            "size": 3214567, 
            "timestamp": 1452408423000, 
            "type": "FILE", 
            "visibility": "APPLICATION"
          }
        }
      ]
    }
  }, 
  "application-id": "application_11111111111111_0001", 
  "application-name": "test",
  "application-type": "Spark"   
}

我看到的问题是,hadoop configs 目录以前在我运行作业的机器上是本地的,现在我通过 REST API 提交作业并且它直接在 RM 上运行,我不知道如何提供这些细节 ?

【问题讨论】:

标签: hadoop apache-spark hadoop-yarn


【解决方案1】:

如果您尝试通过 REST API 提交 Spark 作业,我建议您查看 Livy。这是一种将 Spark 作业提交到集群的简单易用的方法。

Livy 是一个开源 REST 接口,用于从任何地方与 Apache Spark 进行交互。它支持在本地或 Apache Hadoop YARN 中运行的 Spark 上下文中执行代码或程序的 sn-ps。

  • 交互式 Scala、Python 和 R shell
  • 在 Scala、Java、Python 中批量提交
  • 多个用户可以共享同一台服务器(支持模拟)
  • 可用于使用 REST 从任何地方提交作业
  • 不需要对您的程序进行任何代码更改

我们也尝试过通过 Java RMI 选项提交申请。

【讨论】:

    猜你喜欢
    • 2015-03-18
    • 2015-09-25
    • 1970-01-01
    • 2015-08-20
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多