【问题标题】:SparkAction for yarn-cluster纱线集群的 SparkAction
【发布时间】:2015-09-03 10:33:39
【问题描述】:

使用 Hortonworks HDP 2.3 预览沙箱(oozie:4.2.0.2.3.0.0-2130、spark:1.3 和 Hadoop:2.7.1.2.3.0.0-2130),我正在尝试使用调用 oozie spark 操作“yarn-cluster”为主人。 Oozie Spark Action 中提供的示例用于在“本地”master 上运行 spark 操作。

同一页面还建议能够在 Yarn 上运行,火花组件 jar 应该可用于火花动作。

我有两个问题

  • 我们如何让 Spark Action 可以使用 spark 装配 jar?我应该在 oozie spark 动作中使用 jar 元素吗?
  • 我在提交作业时没有显式添加程序集 jar 时收到以下错误

    Using properties file: null
    Using properties file: null
    Parsed arguments:
       master                  yarn-master
       deployMode              cluster
       executorMemory          512m
       executorCores           null
       totalExecutorCores      null
       propertiesFile          null
       extraSparkProperties    Map()
       driverMemory            null
       driverCores             null
       driverExtraClassPath    null
       driverExtraLibraryPath  null
       driverExtraJavaOptions  null
       supervise               false
       queue                   null
       numExecutors            3
       files                   null
       pyFiles                 null
       archives                null
       mainClass               com.foo.bar.spark.examples.WordCountSparkJob
       primaryResource         hdfs://sandbox.hortonworks.com:8020/apps/foo/sandbox.hortonworks.com/1.201-SNAPSHOT/oozieapp/lib/abc-1.201-SNAPSHOT.jar
       name                    Spark Example
       childArgs               [inputpath=hdfs://sandbox.hortonworks.com:8020/tmp/bcp_examples/input/]
       jars                    null
       verbose                 true
    
    Default properties from null:
    Error: Could not load YARN classes. This copy of Spark may not have been compiled with YARN support.
    Run with --help for usage help or --verbose for debug output
    Intercepting System.exit(-1)
    Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.SparkMain], exit code [-1]
    

感谢任何有关如何解决问题的建议。

【问题讨论】:

    标签: apache-spark hadoop-yarn oozie hortonworks-data-platform


    【解决方案1】:

    在 HDP2.3 中随 Oozie 分发的用于 spark 动作的默认 sharelib 未针对 YARN 组装。

    如果您已通过 hortonworks 发行版安装了 spark,那么您只需将 spark 操作的 sharelib 的内容替换为已安装的版本即可。

    例如(作为 oozie 用户)

    hadoop fs -mv /user/oozie/share/lib/spark /user/oozie/share/lib/spark-bak
    hadoop fs -mkdir /user/oozie/share/lib/spark
    hadoop fs -put /usr/hdp/current/spark-client/lib/* /user/oozie/share/lib/spark
    hadoop fs -cp /user/oozie/share/lib/spark-bak/oozie* /user/oozie/share/lib/spark
    

    【讨论】:

      【解决方案2】:

      这个错误是由类org.apache.spark.deploy.yarn.Client 无法加载引起的。它包含在 spark-assembly jar 中,可以在 /usr/hdp/current/spark-client/lib/ 中找到。将此文件添加到hdfs://hd-host:port/user/oozie/share/lib/spark 后,必须重新启动 oozie 才能使其立即生效。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-12-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-11
        • 2018-02-22
        • 2016-04-09
        相关资源
        最近更新 更多