小编use*_*801的帖子

Cassandra频繁读写超时

我已将整个代码库更改ThriftCQL使用datastax java driver 1.0.1cassandra 1.2.6..

随着节俭,我从一开始就经常超时,我无法继续......采用CQL,按照我的设计表,我获得了成功,减少了超时....

有了这个,我能够插入大量数据,这些数据与thrift无法合作......但经过一个阶段,数据文件夹大约3.5GB.我经常写入超时异常.即使我再次使用相同的早期工作用例,现在也会抛出超时异常.它的随机工作即使在新设置之后也不会再工作.

CASSADNRA服务器日志

这是cassandra服务器部分日志DEBUG模式,然后我收到错误:

http://pastebin.com/rW0B4MD0

客户例外是:

Caused by: com.datastax.driver.core.exceptions.WriteTimeoutException: Cassandra timeout during write query at consistency ONE (1 replica were required but only 0 acknowledged the write)
    at com.datastax.driver.core.exceptions.WriteTimeoutException.copy(WriteTimeoutException.java:54)
    at com.datastax.driver.core.ResultSetFuture.extractCauseFromExecutionException(ResultSetFuture.java:214)
    at com.datastax.driver.core.ResultSetFuture.getUninterruptibly(ResultSetFuture.java:169)
    at com.datastax.driver.core.Session.execute(Session.java:107)
    at com.datastax.driver.core.Session.execute(Session.java:76)
Run Code Online (Sandbox Code Playgroud)

基础设施: 16GB机器,8GB堆给cassandra,i7处理器..我使用SINGLE节点cassandra与yaml调整超时,其他一切都是默认的:

  • read_request_timeout_in_ms:30000
  • range_request_timeout_in_ms:30000
  • write_request_timeout_in_ms:30000
  • truncate_request_timeout_in_ms:60000
  • request_timeout_in_ms:30000

使用案例: 我正在运行一个用于存储Cassandra组合(我的项目术语)的用例....当前测试存储250个组合与100个并行线程..每个线程存储一个组合...真实情况我需要支持数十数百万,但需要不同的硬件和多节点集群...

在存储一个组合需要大约2秒,涉及:

  • 527 INSERT INTO查询
  • 506更新查询
  • 954 SELECT查询

100个并行线程并行存储100个组合.

我已经发现WRITE TIMEOUTS的行为是随机的,一段时间它会工作到200 000然后抛出超时,有时甚至不能用于10k组合.随机行为.

timeout cassandra datastax-java-driver

10
推荐指数
1
解决办法
2万
查看次数

标签 统计

cassandra ×1

datastax-java-driver ×1

timeout ×1