很抱歉,如果这是一个现有问题,但任何现有问题都解决了我的问题..
我已经安装了Cassandra单节点 . 我现在没有大型应用程序,但我认为很快就会出现这种情况,我需要越来越多的节点 .
好吧,我'm saving data from a stream to Cassandra, and this were going well, but suddently, when I tried to read data, I' ve开始收到此错误:"Not enough replica available for query at consistency ONE (1 required but only 0 alive)"
我的密钥空间是使用simplestrategy和replication_factor = 1构建的 . 我保存的数据由一个名为“catchId”的字段分隔,所以我的大多数查询都是这样的:“select * from data where catchId ='xxx'” . catchId是一个分区键 .
我正在使用cassandra-driver-core版本3.0.0-rc1 .
问题是我现在没有那么多数据,我想现在使用RDBMS会更好,只有当我有更好的基础设施时才迁移到Cassandra .
谢谢 :)
1 回答
当您尝试进行读取时,您的节点似乎无法响应(通常,此错误会出现在多个节点上) . 如果您没有大量数据,那就很奇怪了,所以这可能是一个糟糕的设计选择 . 这可以来自几件事,所以你必须做一些调查 .
研究你的日志!特别是system.log
您可以在cassandra.yaml中更改read_request_timeout_in_ms参数 . 虽然它只是暂时的问题(你的要求在一段时间后成功)或更大的问题
在您进行请求时研究您的CPU和内存行为
如果你很有动力,你可以安装opscenter,你会提供更有 Value 的信息
你在做什么和多少写请求?它可以压倒cassandra(即使它的设计) . 我建议发出异步请求以避免出现问题 .