我有cassandra单片应用程序,我想写在高速率从队列中读取一些有效载荷。Cassandra集群有3个节点。当我开始并行处理大量消息(通过生成线程)时,我得到以下异常
java.util.concurrent.ExecutionException: com.datastax.oss.driver.api.core.DriverTimeoutException: Query timed out after PT2S
我将CQLsession创建为bean
return CqlSession.builder().addContactPoints(contactPoints)
/*.addContactPoint(new InetSocketAddress("localhost", 9042))*/
.withConfigLoader(new DefaultDriverConfigLoader()).withLocalDatacenter("datacenter1")
.addTypeCodecs(new CustomDateCodec())
.withKeyspace("dev").build();
我将此CqlSession注入到映射器和其他类中以运行查询
在我的datastax驱动程序中,我给了3个节点的ip作为联系点,我是否需要在CQLsession创建/或我的cassandra节点中进行任何调整,以便它们能够以高并发性进行写入?另外,我可以并行执行多少次写操作?
所有都是update语句,只在主键上没有任何if条件
您看到的超时是由于您的应用程序使集群过载,从而有效地进行了DDoS攻击。
PT2S
是 2 秒的写入超时。总有一天,提交日志磁盘只能接受这么多的写入IO。如果您在日志或 nodetool tpstats
中看到丢弃的突变,则表明提交日志无法跟上写入速度。
如果您的群集可以支持每秒10K写入次数,但您的应用程序正在进行20K次写入,则您需要将群集的大小翻倍(添加更多节点)以支持吞吐量要求。干杯!
我正在spark项目中使用spark sql 3.0.2和spark-cassandra-connector_2.12:3.1.0以及java8。 在写卡桑德拉表格时,我面临以下错误 最新的异常是在一致性LOCAL_ONE的简单写入查询期间发生Cassandra超时(需要1个副本,但只有0个副本确认了写入) 请检查执行程序日志以获取更多异常和信息table_cassandraAsyncStatem
我使用将整个代码库从更改为 由于节俭,我从一开始就经常超时,我无法继续...采用CQL,按照我成功设计的表格和更少的超时.... 有了这个,我能够插入大量不符合节俭原则的数据…但是经过一个阶段,数据文件夹大约在3.5GB左右。我经常遇到写入超时异常。即使我再次做同样的早期工作用例,现在也会引发超时异常。它的随机曾经工作过,即使在重新设置后也无法再次工作。 CASSADNRA服务器日志 这是卡桑德拉
问题内容: 在进行大量数据加载时,基于日志数据增加计数器,但是遇到超时异常。我正在使用Datastax 2.0-rc2 Java驱动程序。 这是服务器无法跟上问题的问题(即服务器端配置问题),还是客户端无聊的等待服务器响应的问题?无论哪种方式,我都可以进行简单的配置更改来解决此问题吗? 节点之一在大致发生时报告此情况: 问题答案: 虽然我不了解此问题的根本原因,但我可以通过增加conf / cas
在进行大容量数据加载、根据日志数据递增计数器时,我遇到了超时异常。我使用DataStax2.0-RC2 java驱动程序。 这是服务器无法跟上的问题(即服务器端配置问题),还是客户端在等待服务器响应时感到厌烦的问题?不管怎样,我能做一个简单的配置更改来解决这个问题吗? 其中一个节点大致在它发生的时间报告这一点:
我想查询cassandra timestamp列,例如this hour、last hour、beather。 我在mysql中执行了与昨天数据相同的查询
使用Cassandra 2.28,Drive 3,Sparks2。我在Cassandra中有一个timestamp列,我只需要按日期部分查询它。如果我按日期查询:<代码>。其中(“交易日期=?”,“2012-01-21”:它不会带来任何结果。如果我包括时间部分,它会显示无效日期。我的数据(如我在cqlsh中所读)是:2012-01-21 08:01:00 0000 参数:“2012-01-21”