Storm/Cassandra集成错误:NoSuchMethodError: concurrent.Futures.withFallback

本文原文出处: http://blog.csdn.net/bluishglc/article/details/50443205 严禁任何形式的转载,否则将委托CSDN官方维护权益!

2015年的最后一篇博文了,本想着来个年终总结,终究还是没能打破惯例,在技术博客上写一篇非技术博文,所以这2015年的最后一篇文章是关于一个很小很小的小问题,为啥没准备一篇宏篇大论呢?最近忙的跟鬼似的,赶哪算哪吧,就是它了:

Storm和Cassandra集成,提交topology后报错:

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;

这个问题的原因是Strorm和Cassandra使用的guava版本不一致引起的。Strom (V0.10 ) 依赖了一个低版本的guava ( V11.0.2 ), 这个版本还没有提供错误中指明的方法,但是Cassandra ( V 2.1.6 ) 的driver client使用的却是一个提供了该方法的高版本guava ( V14.0.1 )。

Storm的应用是将所有依赖jar打成单一jar包部署的,很显然,提交topology之后,storm最终采纳的是strom自身配置在STORM_HOME/extlib-daemon/下的低版本guava,从而导致了这个错误。

解决方法就是使用高版本的guava替换STORM_HOME/extlib-daemon/下的低版本guava。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Laurence 

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值