连接Cassandra时出现错误

4

我无法使用Eclipse连接到Cassandra(版本2.0.5)。以下是来自错误的完整日志:

16:06:59.818 [主要] 警告 c.d.driver.core.FrameCompressor - 找不到Snappy类,请确保在类路径中包含Snappy库,如果您打算使用它,则将无法使用Snappy压缩协议。

[...] 省略部分内容以节省篇幅


不支持的协议版本意味着您的客户端驱动程序版本与服务器版本不兼容。请问您使用的驱动程序和服务器版本是什么? - Ralf
抛出的错误信息并不总是根本原因。我曾经看到过这种情况发生,当真正的问题是类路径中缺少JAR文件时。 - Jay
这不一定是致命错误,除非您实际启用了Snappy压缩。请参见我在另一个问题上的回复:http://stackoverflow.com/a/29947679/3775443 - Olivier Michallat
3个回答

11

使用Maven导入snappy/lz4或者任何其他你在使用的压缩工具。

LZ4

Snappy


请注意,您需要同时包含Snappy和LZ4。 - KIC

2

我也遇到了同样的问题,看起来是由于一些库更新导致的。这里是我的解决方案,在POM.xml文件中添加以下依赖项:

groupid/artifactId/version:

  • com.datastax.cassandra cassandra-driver-core 2.1.0
  • com.google.guava guava 16.0.1 io.netty netty 3.9.0.Final
  • com.codahale.metrics metrics-core 3.0.2
  • org.slf4j slf4j-api 1.7.5
  • org.slf4j slf4j-simple 1.6.1
  • net.jpountz.lz4 lz4 1.2.0
  • org.xerial.snappy snappy-java 1.1.1.3

最后三个依赖项未在Datastax用户手册中提到,但在编译过程中被提醒。不妨试试!


0

您的类路径中缺少文件。根据您使用的驱动程序,您需要确保包含所有相关的JAR文件。

Datastax 2.0驱动程序具有较少的依赖项,而1.x系列具有更多的依赖项。 1.x依赖于基本上所有cassandra jar文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接