[英]Unable to connect to spark on remote system
I am trying to connect to spark master on a remote system through java app 我正在尝试通过Java App连接到远程系统上的Spark Master
I am using 我在用
<dependency> <!-- Spark dependency -->
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>2.0.1</version>
</dependency>
and code 和代码
{
SparkSession sparkSession = SparkSession.builder().
master("spark://ip:7077")
.appName("spark session example")
.getOrCreate();
JavaSparkContext sc = new JavaSparkContext(sparkSession.sparkContext());
}
Getting 得到
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)
Also If I change to 另外,如果我更改为
<dependency> <!-- Spark dependency -->
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
**<version>2.0.1</version>**
</dependency>
on the same program getting 在同一程序上
Caused by: java.lang.RuntimeException: java.io.InvalidClassException: org.apache.spark.rpc.netty.RequestMessage; 引起原因:java.lang.RuntimeException:java.io.InvalidClassException:org.apache.spark.rpc.netty.RequestMessage; local class incompatible: stream classdesc serialVersionUID = -2221986757032131007, local class serialVersionUID = -5447855329526097695
本地类不兼容:流classdesc serialVersionUID = -2221986757032131007,本地类serialVersionUID = -5447855329526097695
In Spark-shell on remote 在远程的Spark-shell中
Spark context available as 'sc' (master = local[*], app id = local-1477561433881). Spark上下文可作为“ sc”使用(主=本地[*],应用程序ID =本地1477561433881)。 Spark session available as 'spark'.
Spark会话可作为“火花”使用。 Welcome to ____ __ / / _ _____/ / _\\ / _ / _ `/ / ' / / / .__/_, / / / /_\\ version 2.0.1 / /
欢迎使用____ __ // / _ _____ / / _ \\ / _ / _`/ /' / / / .__ / _, / / / / _ \\版本2.0.1 / /
Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_101) Type in expressions to have them evaluated. 使用Scala 2.11.8版(Java HotSpot™64位服务器VM,Java 1.8.0_101),键入表达式以对其求值。 Type :help for more information.
输入:help以获得更多信息。
As I am very new to all this, I am not able to figure out the issue in program 由于我对这一切还很陌生,所以我无法在程序中找出问题
I figured it out, posting this in case if someone is going to follow the similar approach. 我想出了办法,以防万一有人要遵循类似的方法将其发布。
I had added 我添加了
<groupId>com.datastax.spark</groupId>
<artifactId>spark-cassandra-connector_2.10</artifactId>
<version>2.0.0-M3</version>
which comes with scala-library 2.10.6 与scala库2.10.6一起提供
but there already exists a scala-library 2.11.8 in spark-core 但是在spark-core中已经存在一个scala库2.11.8
so I had to exclude the earlier one like this 所以我不得不排除像这样的早期
<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>
Now everything is working fine 现在一切正常
This Spark version mismatch: 此Spark版本不匹配:
Update dependency to 2.11. 将依赖关系更新为2.11。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.