Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用datastax Cassandra时发生Cassandra读取操作错误_Cassandra_Datastax_Nosql - Fatal编程技术网

使用datastax Cassandra时发生Cassandra读取操作错误

使用datastax Cassandra时发生Cassandra读取操作错误,cassandra,datastax,nosql,Cassandra,Datastax,Nosql,如果这是一个现有的问题,很抱歉,但是任何现有的问题都解决了我的问题 我已经安装了卡桑德拉单点。我现在没有一个大型应用程序,但我认为这种情况很快就会出现,我将需要越来越多的节点 我正在将数据从一个流保存到Cassandra,这进行得很顺利,但突然,当我试图读取数据时,我开始收到以下错误: “没有足够的副本可用于一致性1的查询(需要1个副本,但只有0个副本处于活动状态)” 我的键空间是使用simplestrategy构建的,复制系数=1。我正在保存由一个名为“catchId”的字段分隔的数据,因此我

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

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

我正在将数据从一个流保存到Cassandra,这进行得很顺利,但突然,当我试图读取数据时,我开始收到以下错误: “没有足够的副本可用于一致性1的查询(需要1个副本,但只有0个副本处于活动状态)”

我的键空间是使用simplestrategy构建的,复制系数=1。我正在保存由一个名为“catchId”的字段分隔的数据,因此我的大多数查询都类似于:“select*from data where catchId='xxx'”。catchId是一个分区键

我使用的是cassandra驱动核心版本3.0.0-rc1

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


谢谢:)

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

  • 研究你的日志!特别是system.log
  • 您可以在cassandra.yaml中的\u ms参数中更改读取请求\u超时\u。虽然这在生产中不是一个好主意,但它会告诉您这是暂时的问题(您的请求在一段时间后成功)还是一个更大的问题
  • 当您执行请求时,请研究您的CPU和内存行为
  • 如果你很有动力,你可以安装Opscener,这将为你提供更多有价值的信息

您正在执行多少次写请求?它可以压倒卡桑德拉(即使它是为你设计的)。我建议进行异步请求以避免出现问题。

您的基础结构是什么?它只有一台机器(我正在本地测试):i5-2400 3.10Ghz、8GB ram和500gb HD。