Cassandra使用datastax cassandra读取操作报错
Cassandra read operation error using datastax cassandra
抱歉,如果这是一个现有问题,但任何现有问题都解决了我的问题..
我已经安装了 Cassandra 单节点。我现在没有大型应用程序,但我认为很快就会出现这种情况,我将需要越来越多的节点..
好吧,我正在将数据从流保存到 Cassandra,这一切进展顺利,但突然间,当我尝试读取数据时,我开始收到此错误:
"Not enough replica available for query at consistency ONE (1 required but only 0 alive)"
我的键空间是使用 replication_factor = 1 的简单策略构建的。我保存的数据由一个名为 "catchId" 的字段分隔,所以我的大部分查询都是这样的:"select * from data where catchId='xxx'"。 catchId 是分区键。
我使用的是 cassandra-driver-core 版本 3.0.0-rc1。
问题是我现在没有那么多数据,我在想现在使用 RDBMS 是否会更好,只有当我有更好的基础架构时才迁移到 Cassandra。
谢谢:)
当您尝试读取时,您的节点似乎无法响应(通常不止一个节点会出现此错误)。如果你没有很多数据,那就很奇怪了,所以这可能是一个糟糕的设计选择。这可能源于几件事,因此您必须进行一些调查。
- 研究你的日志!特别是 system.log
- 您可以在 cassandra.yaml 中更改 read_request_timeout_in_ms 参数。虽然这在生产中不是一个好主意,但它会告诉你这只是暂时的问题(你的请求在一段时间后成功)还是更大的问题
- 研究您的 CPU 和您在执行请求时的记忆行为
- 如果你有上进心,可以安装opscenter,会给你更多有价值的信息
您正在执行多少写入请求?它可以压倒 cassandra(即使它是为之设计的)。我建议发出异步请求以避免出现问题。
抱歉,如果这是一个现有问题,但任何现有问题都解决了我的问题..
我已经安装了 Cassandra 单节点。我现在没有大型应用程序,但我认为很快就会出现这种情况,我将需要越来越多的节点..
好吧,我正在将数据从流保存到 Cassandra,这一切进展顺利,但突然间,当我尝试读取数据时,我开始收到此错误: "Not enough replica available for query at consistency ONE (1 required but only 0 alive)"
我的键空间是使用 replication_factor = 1 的简单策略构建的。我保存的数据由一个名为 "catchId" 的字段分隔,所以我的大部分查询都是这样的:"select * from data where catchId='xxx'"。 catchId 是分区键。
我使用的是 cassandra-driver-core 版本 3.0.0-rc1。
问题是我现在没有那么多数据,我在想现在使用 RDBMS 是否会更好,只有当我有更好的基础架构时才迁移到 Cassandra。
谢谢:)
当您尝试读取时,您的节点似乎无法响应(通常不止一个节点会出现此错误)。如果你没有很多数据,那就很奇怪了,所以这可能是一个糟糕的设计选择。这可能源于几件事,因此您必须进行一些调查。
- 研究你的日志!特别是 system.log
- 您可以在 cassandra.yaml 中更改 read_request_timeout_in_ms 参数。虽然这在生产中不是一个好主意,但它会告诉你这只是暂时的问题(你的请求在一段时间后成功)还是更大的问题
- 研究您的 CPU 和您在执行请求时的记忆行为
- 如果你有上进心,可以安装opscenter,会给你更多有价值的信息
您正在执行多少写入请求?它可以压倒 cassandra(即使它是为之设计的)。我建议发出异步请求以避免出现问题。