【问题标题】:Is there an official way to support both Spark 1.6.2 and 2.0.0 on Hadoop yarn 2.7.2 cluster?在 Hadoop yarn 2.7.2 集群上支持 Spark 1.6.2 和 2.0.0 有官方方法吗?
【发布时间】:2017-07-31 21:59:48
【问题描述】:

我有一个运行 Hadoop yarn 2.7.2 的集群,并为 Spark 1.6.2 启用了动态分配。

有支持 Spark 1.6.2 和 2.0.0 的官方方法吗?因为当我尝试从 Spark 2.0.0 客户端提交应用程序时,驱动程序中发生了如下异常:

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.spark.network.util.JavaUtils.byteStringAs(Ljava/lang/String;Lorg/apache/spark/network/util/ByteUnit;)J
    at org.apache.spark.internal.config.ConfigHelpers$.byteFromString(ConfigBuilder.scala:63)
    at org.apache.spark.internal.config.ConfigBuilder$$anonfun$bytesConf$1.apply(ConfigBuilder.scala:197)
    at org.apache.spark.internal.config.ConfigBuilder$$anonfun$bytesConf$1.apply(ConfigBuilder.scala:197)
    at org.apache.spark.internal.config.TypedConfigBuilder.createWithDefaultString(ConfigBuilder.scala:131)
    at org.apache.spark.internal.config.package$.<init>(package.scala:41)
    at org.apache.spark.internal.config.package$.<clinit>(package.scala)
    at org.apache.spark.deploy.yarn.ApplicationMaster.<init>(ApplicationMaster.scala:69)
    at org.apache.spark.deploy.yarn.ApplicationMaster$$anonfun$main$1.apply$mcV$sp(ApplicationMaster.scala:785)
    at org.apache.spark.deploy.SparkHadoopUtil$$anon$1.run(SparkHadoopUtil.scala:71)
    at org.apache.spark.deploy.SparkHadoopUtil$$anon$1.run(SparkHadoopUtil.scala:70)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:422)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
    at org.apache.spark.deploy.SparkHadoopUtil.runAsSparkUser(SparkHadoopUtil.scala:70)
    at org.apache.spark.deploy.yarn.ApplicationMaster$.main(ApplicationMaster.scala:784)
    at org.apache.spark.deploy.yarn.ApplicationMaster.main(ApplicationMaster.scala)

【问题讨论】:

    标签: hadoop apache-spark hadoop-yarn


    【解决方案1】:

    Hortonwork 的 HDP 发行版支持此功能,我有一个运行 HDP 2.5 的集群,它在 Centos7 上支持 Hadoop 2.7.3、Spark 1.6.2 和 2.0.0。

    我在使用 Spark 和 Spark2 作业时都没有遇到任何问题。

    您是如何安装和配置这两个 Spark 版本的?您可以尝试HDP sandbox 并参考如何为您自己的集群配置 Spark 和 Spark2。

    【讨论】:

    • 非常感谢您的回复!实际上我们也在使用 HDP...您是否在集群中为 Spark 启用了动态分配?问题是当这个特性打开时,'spark--yarn-shuffle.jar' 必须添加到每个节点管理器的类路径中。虽然 Spark 1.6.2 和 2.0.0 之间的这个 jar 中有代码更新,但版本不匹配会导致问题。
    • 我有两个jar文件,像这样:/usr/hdp/2.5.0.0-1245/spark2/aux/spark-2.0.0.2.5.0.0-1245-yarn-shuffle.jar/usr/hdp/2.5.0.0-1245/spark/aux/spark-1.6.2.2.5.0.0-1245-yarn-shuffle.jar我也有动态分配集。您是否使用 Ambari 进行部署?这真的让一切变得更容易。
    猜你喜欢
    • 1970-01-01
    • 2019-01-27
    • 1970-01-01
    • 2018-02-06
    • 2021-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多