【问题标题】:Unable to connect to spark on remote system无法连接到远程系统上的 spark
【发布时间】:2017-03-09 23:06:17
【问题描述】:

我正在尝试通过 java 应用程序连接到远程系统上的 spark master

我正在使用

<dependency> <!-- Spark dependency -->
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.11</artifactId>
            <version>2.0.1</version>
</dependency>

和代码

 {
        SparkSession sparkSession = SparkSession.builder().
                           master("spark://ip:7077")
                          .appName("spark session example")
                          .getOrCreate();
        JavaSparkContext sc = new JavaSparkContext(sparkSession.sparkContext());
    }

得到

Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.ArrowAssoc(Ljava/lang/Object;)Ljava/lang/Object;
    at org.apache.spark.sql.SparkSession$Builder.config(SparkSession.scala:713)
    at org.apache.spark.sql.SparkSession$Builder.master(SparkSession.scala:766)
    at com.mobelisk.spark.JavaSparkPi.main(JavaSparkPi.java:9)

如果我换成

<dependency> <!-- Spark dependency -->
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.10</artifactId>
            **<version>2.0.1</version>**
        </dependency>

在同一程序上获得

引起:java.lang.RuntimeException:java.io.InvalidClassException:org.apache.spark.rpc.netty.RequestMessage;本地类不兼容:流classdesc serialVersionUID = -2221986757032131007,本地类serialVersionUID = -5447855329526097695

在远程的 Spark-shell 中

Spark 上下文可用作“sc”(master = local[*],app id = local-1477561433881)。 Spark 会话可作为“spark”使用。 欢迎来到 ____ __ / / _ _____/ / _\ / _ / _ `/ / '/ // .__/_,// //_\ 2.0.1 版 //

使用 Scala 版本 2.11.8(Java HotSpot(TM) 64 位服务器虚拟机,Java 1.8.0_101) 输入表达式以对其进行评估。 输入 :help 了解更多信息。

由于我对这一切都很陌生,我无法弄清楚程序中的问题

【问题讨论】:

    标签: java scala apache-spark


    【解决方案1】:

    我想通了,发布这个以防有人要遵循类似的方法。

    我已经添加了

    <groupId>com.datastax.spark</groupId>
                <artifactId>spark-cassandra-connector_2.10</artifactId>
    <version>2.0.0-M3</version>
    

    随 scala-library 2.10.6 提供

    但 spark-core 中已经存在 scala-library 2.11.8

    所以我不得不像这样排除之前的那个

    <dependency>
                <groupId>com.datastax.spark</groupId>
                <artifactId>spark-cassandra-connector_2.10</artifactId>
                <version>2.0.0-M3</version>
                <exclusions>
                    <exclusion>
                        <artifactId>scala-library</artifactId>
                        <groupId>org.scala-lang</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>scala-reflect</artifactId>
                        <groupId>org.scala-lang</groupId>
                    </exclusion>
                </exclusions>
    </dependency>
    

    现在一切正常

    【讨论】:

      【解决方案2】:

      此 Spark 版本不匹配:

      • 您在项目中使用 2.10。
      • 集群使用 2.11

      将依赖项更新到 2.11。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-09-14
        • 2017-12-23
        • 1970-01-01
        • 1970-01-01
        • 2018-12-09
        • 1970-01-01
        • 2017-02-09
        • 2015-11-02
        相关资源
        最近更新 更多