【问题标题】:How can I run spark in headless mode in my custom version on HDP?如何在 HDP 上的自定义版本中以无头模式运行 spark?
【发布时间】:2019-05-01 05:26:34
【问题描述】:

如何在无头模式下运行 spark? 目前,我正在集群上的 HDP 2.6.4(即默认安装 2.2)上执行 spark。 我已经从https://spark.apache.org/downloads.html 下载了一个以无头模式(即没有内置 hadoop jar)的 spark 2.4.1 Scala 2.11 版本。确切的名称是:使用 scala 2.11 和用户提供的 hadoop 预构建

现在,当我尝试运行时,我关注:https://spark.apache.org/docs/latest/hadoop-provided.html

export SPARK_DIST_CLASSPATH=$(hadoop classpath)
export HADOOP_CONF_DIR=/etc/hadoop/conf
export SPARK_HOME=/home/<<my_user>>/development/software/spark_no_provided_hadoop
./bin/spark-shell --master yarn --deploy-mode client --queue <<my_yarn_queue>>

很遗憾,启动失败:

19/05/01 07:12:23 WARN yarn.Client: Neither spark.yarn.jars nor spark.yarn.archive is set, falling back to uploading libraries under SPARK_HOME.
19/05/01 07:12:38 ERROR cluster.YarnClientSchedulerBackend: The YARN application has already ended! It might have been killed or the Application Master may have failed to start. Check the YARN application logs for more details.
19/05/01 07:12:38 ERROR spark.SparkContext: Error initializing SparkContext.
org.apache.spark.SparkException: Application application_1555489055691_64276 failed 2 times due to AM Container for appattempt_1555489055691_64276_000002 exited with  exitCode: 1

When looking at the logs for details I see:
Log Type: prelaunch.err

launch_container.sh: line 30: $PWD:$PWD/__spark_conf__:$PWD/__spark_libs__/*:/etc/hadoop/conf:/usr/hdp/2.6.4.0-91/hadoop/*:/usr/hdp/2.6.4.0-91/hadoop/lib/*:/usr/hdp/current/hadoop-hdfs-client/*:/usr/hdp/current/hadoop-hdfs-client/lib/*:/usr/hdp/current/hadoop-yarn-client/*:/usr/hdp/current/hadoop-yarn-client/lib/*:$PWD/mr-framework/hadoop/share/hadoop/mapreduce/*:$PWD/mr-framework/hadoop/share/hadoop/mapreduce/lib/*:$PWD/mr-framework/hadoop/share/hadoop/common/*:$PWD/mr-framework/hadoop/share/hadoop/common/lib/*:$PWD/mr-framework/hadoop/share/hadoop/yarn/*:$PWD/mr-framework/hadoop/share/hadoop/yarn/lib/*:$PWD/mr-framework/hadoop/share/hadoop/hdfs/*:$PWD/mr-framework/hadoop/share/hadoop/hdfs/lib/*:$PWD/mr-framework/hadoop/share/hadoop/tools/lib/*:/usr/hdp/${hdp.version}/hadoop/lib/hadoop-lzo-0.6.0.${hdp.version}.jar:/etc/hadoop/conf/secure:/usr/hdp/2.6.4.0-91/hadoop/conf:/usr/hdp/2.6.4.0-91/hadoop/lib/*:/usr/hdp/2.6.4.0-91/hadoop/.//*:/usr/hdp/2.6.4.0-91/hadoop-hdfs/./:/usr/hdp/2.6.4.0-91/hadoop-hdfs/lib/*:/usr/hdp/2.6.4.0-91/hadoop-hdfs/.//*:/usr/hdp/2.6.4.0-91/hadoop-yarn/lib/*:/usr/hdp/2.6.4.0-91/hadoop-yarn/.//*:/usr/hdp/2.6.4.0-91/hadoop-mapreduce/lib/*:/usr/hdp/2.6.4.0-91/hadoop-mapreduce/.//*:/usr/hdp/2.6.4.0-91/tez/*:/usr/hdp/2.6.4.0-91/tez/lib/*:/usr/hdp/2.6.4.0-91/tez/conf:$PWD/__spark_conf__/__hadoop_conf__: bad substitution

所以:

/usr/hdp/${hdp.version}/hadoop/lib/hadoop-lzo-0.6.0.${hdp.version}.jar: bad substitution

是原因(类似于https://community.hortonworks.com/questions/23699/bad-substitution-error-running-spark-on-yarn.html),但这完全在 Ambari 的管理域内。如何解决它以在现有的 2.6.x HDP 平台上运行更新版本的 spark (2.4.x)?

编辑

假设我为HADOOP_CONF_DIR 传递了错误的配置目录,它是未设置的。但后来:

When running with master 'yarn' either HADOOP_CONF_DIR or YARN_CONF_DIR must be set in the environment.

所以它必须通过。可能是我传递了错误的值吗? 根据Exception: java.lang.Exception: When running with master 'yarn' either HADOOP_CONF_DIR or YARN_CONF_DIR must be set in the environment. in spark 可能是正确的。对我来说,默认情况下没有设置 HADOOP_HOME。

即使设置为:export HADOOP_CONF_DIR=/usr/hdp/current/spark2-client/conf,同样的错误替换错误仍然存​​在。

注意:一些有趣的步骤:

【问题讨论】:

    标签: apache-spark configuration headless ambari hdp


    【解决方案1】:

    确实,https://community.hortonworks.com/questions/23699/bad-substitution-error-running-spark-on-yarn.html 是解决方案:

    cd /usr/hdp                                                                                                                                  
    ls
    2.6.xxx  current  share
    

    所以对我来说:

    ./bin/spark-shell --master yarn --deploy-mode client --queue <<my_queue>>--conf spark.driver.extraJavaOptions='-Dhdp.version=2.6.xxx' --conf spark.yarn.am.extraJavaOptions='-Dhdp.version=2.6.xxx'
    

    作品

    【讨论】:

      猜你喜欢
      • 2020-11-16
      • 2018-05-23
      • 2014-08-25
      • 2017-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-05
      • 2018-02-27
      相关资源
      最近更新 更多