You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级HBase Client至2.5.8后Cassandra Driver 2.1.10.2报NoHostAvailableException

问题分析与解决方案

问题现象

当HBase Client版本升级至2.5.8,且搭配Cassandra Driver 2.1.10.2使用时,Cassandra抛出NoHostAvailableException异常,异常栈信息如下:

Caused by: com.google.common.util.concurrent.UncheckedExecutionException: com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (no host was tried)
        at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2201) ~[guava-16.0.1.jar:?]
        at com.google.common.cache.LocalCache.get(LocalCache.java:3934) ~[guava-16.0.1.jar:?]
        at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4736) ~[guava-16.0.1.jar:?]
        at com.epsilon.cassandra.dao.AbstractCassandraDao.getCachedStatement(AbstractCassandraDao.java:484) ~[cassandraDataStore-0.0.2.50.jar:?]
        at com.epsilon.cassandra.dao.AbstractCassandraDao.doUpdateByCql(AbstractCassandraDao.java:120) ~[cassandraDataStore-0.0.2.50.jar:?]
        at com.epsilon.cassandra.dao.AbstractCassandraDao.doUpdateByNamedStatement(AbstractCassandraDao.java:107) ~[cassandraDataStore-0.0.2.50.jar:?]

将HBase Client降级至2.1.10.2后,异常不再出现。

根因分析

这是Guava版本冲突导致的问题:

  • Cassandra Driver 2.1.10.2依赖Guava 16.0.1,而HBase Client 2.5.8依赖的Guava版本显著更高(如Guava 28+)。
  • 项目构建时,高版本Guava会覆盖低版本,而Cassandra Driver 2.x系列对高版本Guava的API变更兼容性较差,导致其内部缓存逻辑(如LocalCache相关操作)执行异常,最终触发NoHostAvailableException。

解决方案

1. 统一Guava版本

强制项目使用Cassandra Driver兼容的Guava 16.0.1版本,但需要先验证HBase Client 2.5.8是否能适配该低版本Guava。如果HBase Client出现功能异常,则此方案不可行。

2. 升级Cassandra Driver版本

将Cassandra Driver升级到3.x或4.x系列,这些版本对高版本Guava的兼容性更好,能匹配HBase Client 2.5.8的依赖。升级时需同步验证业务代码与新Driver版本的兼容性,避免引入新问题。

3. 暂用降级后的HBase Client版本

如果前两个方案无法快速落地,可以暂时保持HBase Client在2.1.10.2版本,确保Cassandra Driver正常运行,后续再逐步推进组件版本的兼容升级计划。

内容的提问来源于stack exchange,提问作者meghana manjunath

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 05:20:15