首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用纱线、spark和spark-cassandra-connector时,如何解决芭乐11.0.2和16.0之间的冲突?

在使用纱线、spark和spark-cassandra-connector时,如何解决芭乐11.0.2和16.0之间的冲突?
EN

Stack Overflow用户
提问于 2016-03-15 14:24:37
回答 1查看 1.1K关注 0票数 2

当我执行以下命令时,我的yarn版本是hadop-2.4.0.x,spark是spark-1.5.1-bin-hadoop2.4,spark-cassandra-connector是spark-cassandra-connector_2.10-1.5.0-M2

代码语言:javascript
复制
bin/spark-shell --driver-class-path $(echo lib/*.jar | sed 's/ /:/g')  --master yarn-client 
--deploy-mode client --conf spark.cassandra.connection.host=192.21.0.209 
--conf spark.cassandra.auth.username=username --conf spark.cassandra.auth.password=password --conf spark.sql.dialect=sql 
--jars lib/guava-16.0.jar,spark-cassandra-connector_2.10-1.5.0-M2.jar,lib/cassandra-driver-core-2.2.0-rc3.jar

启动后,我在提示符下输入了以下scala:

代码语言:javascript
复制
import org.apache.spark.sql.cassandra.CassandraSQLContext
import org.apache.spark.sql.{DataFrame, SaveMode}
import org.apache.spark.{Logging, SparkConf, SparkContext}
import org.joda.time.{DateTime, Days, LocalDate}
val cc = new CassandraSQLContext(sc)

val rdd: DataFrame = cc.sql("select user_id,tag_models,dmp_province," +
"zp_gender,zp_age,zp_edu,stg_stage,zp_income,type " +
"from user_center.users_test") 

我得到了一个典型的错误:

代码语言:javascript
复制
Caused by: java.lang.NoSuchMethodError:  
com.google.common.util.concurrent.Futures.withFallback
(Lcom/google/common/util/concurrent/ListenableFuture;
Lcom/google/common/util/concurrent/FutureFallback;
Ljava/util/concurrent/Executor;)
Lcom/google/common/util/concurrent/ListenableFuture;

googlestackoverflower中搜索这个错误后,我知道是不同版本的guava之间的冲突导致了这个错误,并且发现hadoop 2.4使用guava-11.0.2,而spark-cassandra-connector_2.10-1.5.0-M2使用guava-16.0.1

如何解决这类错误,任何建议都将不胜感激!

更新

很抱歉测试时间太长了!

现在,对于spark-submit,我在我的测试纱线集群中成功地测试了这个分辨率Making Hadoop 2.6 + Spark-Cassandra Driver Play Nice Together

EN

回答 1

Stack Overflow用户

发布于 2016-03-16 05:04:25

在Hadoop配置中,将以下属性添加到hadoop-env.sh

代码语言:javascript
复制
HADOOP_USER_CLASSPATH_FIRST=true

在Spark配置中也有一个属性,你可以将它设置为真正的spark.driver.userClassPathFirst,但它仍然是一个实验性的,只在集群模式下使用(看看spark documentation)。就我个人而言,我没有尝试过这个属性,但由于文档中提供了它,我认为它值得一提

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36004072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档