问题标签 [cassandra-jdbc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
385 浏览

cassandra - Cassandra 以 5 分钟为间隔读取超时?

谁能解释为什么我的 Cassandra 集群中每隔 4-5 分钟就会发生一次读取超时。我几乎可以始终如一地看到这一点,并且能够始终如一地重现这一点。

读取吞吐量保持在每秒 1 个请求,集群中没有发生写入或压缩。读取超时在 cassandra.yaml 文件中配置为 5 秒。我正在使用 datastax java 驱动程序 2.1.14。

超时期间的跟踪不起作用。在 cqlsh 中第二次手动读取相同的行键成功。查看了这个https://issues.apache.org/jira/browse/CASSANDRA-8194 jira,它看起来与我看到的问题相似。我们使用具有此修复程序的 dse 4.6.2。尝试在我的集群中禁用身份验证,但看到相同的 4-5 分钟读取超时。

请提出解决此问题的方法。

谢谢, 斯里瓦桑

0 投票
0 回答
189 浏览

grails - 百万条记录后,cassandra-orm 的性能大幅下降

我正在使用 cassandra-orm 插件 ( cassandra-orm:0.4.5 ) 将点击从 Postgres DB 迁移到 Cassandra。(我知道我可以使用原始数据导入,但我想使用由插件维护的 groupBy 和显式索引)。

迁移过程很简单:我从 Postgres(通过 GORM)中选择一堆点击,然后将它们刷新到 Cassandra。每次点击都是一条新记录,并且在 Grails 中创建一个新对象并保存在 Cassandra 中。使用 20 个线程,我能够达到 2000 次点击/秒的吞吐量。在导入 500 万次点击后,性能开始急剧下降到 50 次点击/秒。

我做了一些分析,发现有 19 个线程正在等待(停放),一个线程正在对 Groovy 的 AbstractConcurrentMapBase 执行重新哈希处理。

等待线程的堆栈跟踪:

重新哈希线程的堆栈跟踪:

经过数小时的调试,我发现问题出在添加到所有插件管理对象的动态属性“_cassandra_cluster_”中:

然后,此属性在内部保存在ThreadManagedMetaBeanProperty instance2Prop 映射中。当访问动态属性时def cluster = click._cassandra_cluster_,单击实例将保存到带有软引用的 instance2Prop 映射中。到目前为止一切顺利,软引用可以被垃圾收集,对吧。然而,在 ManagedConcurrentMap 实现中似乎存在一个错误,它忽略了垃圾收集的元素并继续重新散列和扩展地图(描述herehere)。

解决方法

由于地图内部保存在类级别,唯一可行的解​​决方案是重新启动服务器。最终我开发了一个肮脏的解决方案,从僵尸元素中清除内部地图。以下代码在单独的线程中运行:

你有使用 cassandra-orm 或任何其他连接到 cassandra 的 grails 插件的生产经验吗?

0 投票
1 回答
6106 浏览

cassandra - 将数据插入 Cassandra 时出错

我正在学习 Apache Kafka-storm-cassandra 集成。我正在使用 Kafka Spout 从 Kafka 集群读取 JSON 字符串。然后将其传递给解析 JSON 并将所需值发送到将其写入 Cassandra DB 的第二个 Bolt。

但我收到了这些错误。

java.lang.RuntimeException: com.datastax.driver.core.exceptions.SyntaxError: line 1:154 mismatched character ''期待'''

表已存在错误:

com.datastax.driver.core.exceptions.AlreadyExistsException:表 query.productcount 已存在于 com.datastax.driver.core.exceptions.AlreadyExistsException.copy(AlreadyExistsException.java:85)

我的主要拓扑:

标准化螺栓:

CassandraWriter 螺栓:

请建议我需要做的更改。

提前感谢!

0 投票
2 回答
1398 浏览

java - Cassandra中未排序的地图类型

我在 Cassandra 2.1.7 中使用地图类型列。我的要求是我必须保留我在 Cassandra 中插入的值的顺序,以便以后检索。为此,我在 Java 中使用了 LinkedHashMap 来达到它的目的。

现在,在调试时,我发现在 Java 处理键值对之前保留了顺序,但在执行“插入”CQL 命令时,Cassandra 在不询问我的情况下按升序重新排列映射键,我不喜欢 :-)

我在 Cassandra 中定义地图类型时搜索了提供排序选项,但由于地图类型在 Cassandra 中的灵活性有限,我一无所获。

您能否提出任何解决方法来满足上述期望!

0 投票
1 回答
4086 浏览

cassandra - datastax cassandra -com.datastax.shaded.netty.channel.ConnectTimeoutException 中的意外连接超时

我们在应用程序第一次启动时就在 Session 对象中获得连接。我们的调度程序使用它不断地将数据插入到 Cassandra 中。但是在某个时间点,它会出现连接超时,然后与 Cassandra 重新连接,并且应用程序正常工作。

调度程序经常超时。(我已将我的 ip 更改为...这篇文章中

0 投票
1 回答
2083 浏览

jdbc - RazorSQL - 无法连接到 Cassandra DB

我正在尝试通过 RazorSQL 连接到 CassandraDB。我是 RazorSQL 的新手。

后续步骤:

  1. 在顶部菜单中 --> 连接 --> 添加连接配置文件 --> 在出现的弹出菜单中输入所有详细信息(驱动程序位置、主机、端口号等)

我尝试了 RazorSQL 中的 AutoDownload Driver 选项,还尝试了各种 Cassandra JDBC 驱动程序。

cassandra-jdbc-1.2.5、cassandra-jdbc-2.1.1、CassandraJdbcDriver.zip、DataStaxCassandraODBC32。

我收到此错误消息:

错误:尝试建立与数据库的连接时发生错误:

JDBC URL:jdbc:cassandra://88.198.37.102:9042

org.apache.thrift.transport.TTransportException:读取负帧大小(-2113929216)!

在此处输入图像描述

任何人都可以帮助我如何使用这个连接到 Cassandra DB .. 非常感谢你提前。

0 投票
0 回答
386 浏览

r - Unable to Connect to Cassandra Database from R using JDBC

I am trying to connect R with Cassandra. Following is my code:

When I run above code in R, I get following error:

Any ideas how to solve this error? Thanks in advance!

0 投票
2 回答
963 浏览

cassandra - 如何将 Cassandra UDT 转换为可选类型

我有一个用户表及其对应的 POJO

我想将 UDT“地址”转换为可选。因为我使用“cassandra-driver-mapping:3.0.0-rc1”和“cassandra-driver-extras:3.0.0-rc1”,所以我可以使用很多编解码器。

例如:可选编解码器

我想将它注册到 CodecRegistry 并将 TypeCodec 传递给 OptionalCodec 的构造函数。

但是 TypeCodec 是一个抽象类,我无法启动它。

有人知道如何启动 OptionalCodec 吗?


谢谢你,@Olivier Michallat。你的解决方案没问题!

但是我对将 OptionalCodec 设置为 CodecRegistry 有点困惑。您必须首先启动会话。然后将会话传递给 MappingManager,获取正确的 TypeCodec 并注册编解码器。

为了获得 TypeCodec ,您必须首先进行初始会话,这有点奇怪!?

0 投票
0 回答
145 浏览

java - 找不到库 org.apache.Cassandra.thrift.clock

我在 maven 和其他几个网站中搜索了 jar 文件,但找不到 jar 文件和 maven 依赖项。请帮帮我。

0 投票
1 回答
183 浏览

java - Spring Data Cassandra - 检索受影响的行

是否有可能在更新语句中获得受影响的行?

我是 Cassandra 的新手,所以我不知道我是否可以像 JDBC 操作那样做到这一点。