Cassandra使用datastax cassandra

时间:2016-03-14 03:03:54

标签: cassandra datastax nosql

很抱歉,如果这是一个现有问题,但任何现有问题都解决了我的问题..

我已经安装了Cassandra单节点。我现在没有大型应用程序,但我认为很快就会出现这种情况,我需要越来越多的节点..

好吧,我将数据从流保存到Cassandra,这很顺利,但突然之间,当我尝试读取数据时,我开始收到此错误: "没有足够的副本可用于一致性的查询(需要1个但只有0个活着)"

我的密钥空间是使用simplestrategy和replication_factor = 1构建的。我保存的数据由名为" catchId"的字段分隔,所以我的大部分查询都是:" select * from data where catchId = ' XXX'&#34 ;. catchId是一个分区键。

我使用的是cassandra-driver-core版本3.0.0-rc1。

问题是我现在没有那么多数据,我想现在使用RDBMS会更好,只有当我有更好的时候才能迁移到Cassandra基础设施。

谢谢:)

1 个答案:

答案 0 :(得分:0)

当您尝试进行读取时,您的节点似乎无法响应(通常,此错误会出现在多个节点上)。如果您没有大量数据,那就很奇怪了,所以这可能是一个糟糕的设计选择。这可以来自几个方面,所以你必须做一些调查。

  • 研究你的日志!特别是system.log
  • 您可以在cassandra.yaml中更改read_request_timeout_in_ms参数。虽然它在制作中并不是一个好主意,它会告诉你,如果它只是暂时的问题(你的要求在一段时间后成功)或更大的问题
  • 在您提出请求时研究您的CPU和内存行为
  • 如果你很有动力,你可以安装opscenter,你会提供更有价值的信息

你在做什么和多少写请求?它可以压倒cassandra(即使它的设计)。我建议发出异步请求以避免出现问题。