Storm/Cassandra集成错误:NoSuchMethodError: concurrent.Futures.withFallback
2024-08-24 22:34:31
本文原文出处: 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。
最新文章
- 【转】PHP的Trait 特性
- final 评论 I
- 关于Xcode5的离线帮助
- TYVJ P1088 treat Label:鞭笞人的DP
- SqlServer基础:Bit类型
- 2015年江西理工大学C语言程序设计竞赛(初级组)
- mysql create database 指定utf-8编码
- bzoj 3781: 小B的询问 分块
- S-Nim
- Hibernate学习笔记-Hibernate HQL查询
- Archlinux 安装配置指导 2015-05-24
- Codeforces 691A Fashion in Berland
- Recurrent Neural Network系列3--理解RNN的BPTT算法和梯度消失
- 30分钟入门Java
- 【ASP.NET Core】如何隐藏响应头中的 “Kestrel”
- 201621123060《JAVA程序设计》第十一周学习总结
- Java 拓展之调用其他语言
- 我的Python之旅第二天
- 如何使用 toml 配置 SpaceVim
- Linux Vim配置