DSE Cassandra Spark 错误

Posted

技术标签:

【中文标题】DSE Cassandra Spark 错误【英文标题】:DSE Cassandra Spark Error 【发布时间】:2015-08-24 21:18:32 【问题描述】:

我花了一整天的时间想办法解决这个问题,但没有成功。

每次我的 java 应用程序尝试连接到我的 DSE Spark 主服务器时,它都会抛出一个错误:

Association with remote system [akka.tcp://sparkMaster@192.168.2.104:7077] has failed, address is now gated for [5000] ms. Reason is: [Disassociated].

跟踪 cassandra 日志,我可以看到类版本中的不兼容:

ERROR [sparkMaster-akka.actor.default-dispatcher-2] 2015-06-09 16:39:12,066  
Slf4jLogger.scala:66 - org.apache.spark.deploy.ApplicationDescription; local 
class incompatible: stream classdesc serialVersionUID = 7674242335164700840, 
local
class serialVersionUID = 2812534333379744973
java.io.InvalidClassException: 
org.apache.spark.deploy.ApplicationDescription; local class incompatible: 
stream classdesc serialVersionUID = 7674242335164700840, local class 
serialVersionUID = 2812534333379744973

知道为什么会这样吗?

这是版本不匹配,但不清楚如何解决它。

我正在运行 DSE 4.7,我的 POM 文件如下所示:

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_2.10</artifactId>
    <version>1.2.1</version>
</dependency>
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-sql_2.10</artifactId>
    <version>1.2.1</version>
</dependency>
<dependency>
    <groupId>com.datastax.spark</groupId>
    <artifactId>spark-cassandra-connector-java_2.10</artifactId>
    <version>1.2.1</version>
</dependency>

<dependency>
    <groupId>com.datastax</groupId>
    <artifactId>dse</artifactId>
    <version>version number</version>
    <scope>system</scope>
    <systemPath>$project.basedir/lib/dse-4.7.0.jar</systemPath>
</dependency>

问题是哪个版本的 cassandra 连接器适用于 DSE 4.7?

【问题讨论】:

你有两个版本的火花罐吗? @RussS:我更新了我的问题。 【参考方案1】:

版本不匹配。 DSE 4.7 随 Spark 1.2.1 一起提供,但您正在构建针对 1.1.1 的 jar。

【讨论】:

没错,但还是炸了!我在我的 POM 文件中尝试了不同的版本,但都没有奏效。我真的很确定 DSE 4.7 在这里打破了很多东西。 即使在针对 4.7 DSE 运行 1.2.1 内置驱动程序时也会出现同样的异常? @phact: 我可以启动 dse spark @RussS:同样的例外...生气了。 如果 DSE Spark 工作正常,那么您的构建或提交中肯定有其他问题在某处使用旧版本的 spark。如果您想消除版本不兼容更改器的所有可能性,您的 pom 将使用 resources/spark/lib 文件夹作为 spark 依赖项。 (在 dse 的演示文件夹 spark 中有一个如何执行此操作的示例)这将针对 DSE 用于运行的完全相同的 jar 构建。然后确保使用dse spark-submit 启动。

以上是关于DSE Cassandra Spark 错误的主要内容,如果未能解决你的问题,请参考以下文章

数据存储企业DSE中的'hive on spark'?

OpsCenter 6.7.7 不会管理在以下平台上运行的现有 cassandra 集群 (dse 6.7.7):redhat 7.6 Maipo

如何找出特定 DSE 正在运行的 Cassandra 版本?

DSE (Cassandra) - int 数据类型的范围搜索

在 SolR 中创建搜索索引时出错 - Cassandra 集成 (DSE)

在 Spark 中对巨大数据帧进行高效过滤