【问题标题】:DSE Cassandra has guava-16.0.1.jar conflict issue with CDH sparkDSE Cassandra 与 CDH spark 存在 guava-16.0.1.jar 冲突问题
【发布时间】:2016-06-07 16:27:30
【问题描述】:

我们使用DSE4.8.3 Cassandra在oozie中运行CDH5.5.0 Spark,发现DSE Cassandra存在如下guava-16.0.1.jar冲突问题。

Oozie Launcher 失败,主类 [org.apache.oozie.action.hadoop.SparkMain],main() 抛出异常,com.google.common.reflect.TypeToken.isPrimitive()Z java.lang.NoSuchMethodError: com.google.common.reflect.TypeToken.isPrimitive()Z

DSE 4.8.3 中的 Cassandra 版本为 2.1.11.969。 CDH 5.5.0 中的 Spark 版本是 1.5.0。用于 cassandra 驱动程序和连接器。

1.如果我们使用 cassandra-driver-core-2.2.0-rc3.jar 和 spark-cassandra-connector_2.10-1.5.0-M2.jar,它们都使用 guava-16.0.1.jar 作为它们的依赖项,它在CDH中抛出异常“找不到方法:com.google.common.reflect.TypeToken.isPrimitive()Z”(CDH5.5.0 spark使用guava-14.0.1.jar,而不是guava-16.0.1.jar )。

2.如果我们使用较低版本的cassandra-driver-core-2.2.0-rc1.jar和spark-cassandra-connector_2.10-1.5.0-M1.jar,它们都使用了guava-14.0.1.jar作为它们的依赖项,它引发了以下异常: 线程“主”java.lang.AbstractMethodError 中的异常:com.datastax.spark.connector.cql.LocalNodeFirstLoadBalancingPolicy.close()V

在 com.datastax.driver.core.Cluster$Manager.close(Cluster.java:1417)

在 com.datastax.driver.core.Cluster$Manager.access$200(Cluster.java:1167)

在 com.datastax.driver.core.Cluster.closeAsync(Cluster.java:461)

在 com.datastax.driver.core.Cluster.close(Cluster.java:472)

在 com.datastax.spark.connector.cql.CassandraConnector$.com$datastax$spark$connector$cql$CassandraConnector$$createSession(CassandraConnector.scala:163)

我找到了这个异常的答案:(说使用更高版本的 spark-cassandra-connector_2.10-1.5.0-M2.jar 将解决这个问题) Spark + Cassandra connector fails with LocalNodeFirstLoadBalancingPolicy.close()

所以现在,我们对 Cassandra 依赖问题感到困惑。如何解决这个 cassandra guava-16.0.1 依赖问题?是否可以构建一个新的 spark-cassandra-connector.jar 来解决这两个问题?你能帮忙解决这个问题吗?谢谢!

【问题讨论】:

    标签: apache-spark cassandra oozie datastax-enterprise


    【解决方案1】:

    不应该有 C* 驱动程序依赖项,因为它应该使用 Spark Cassandra 连接器依赖项作为传递依赖项自动引入。我会使用 1.5.0 版本。然后,您需要确保在构建时排除所有其他番石榴版本。

    这意味着如果您要制作一个胖 jar,请确保您的代码中没有包含任何 Spark 发行版,并且任何 Hadoop 库都排除了 Guava。

    还有其他一些关于此的邮件线程以获取更多详细信息

    检测到 Guava 问题 #1635,表明正在使用低于 16.01 的 Guava 版本。 https://groups.google.com/a/lists.datastax.com/forum/#!topic/spark-connector-user/HnTsWJkI5jo

    番石榴问题 https://groups.google.com/a/lists.datastax.com/forum/#!topic/spark-connector-user/uB_DN_CcK2k

    【讨论】:

      猜你喜欢
      • 2016-12-31
      • 1970-01-01
      • 1970-01-01
      • 2019-06-21
      • 1970-01-01
      • 1970-01-01
      • 2013-11-06
      • 1970-01-01
      • 2015-08-24
      相关资源
      最近更新 更多