Cassandra:请求未在rpc_timeout内完成

时间:2014-02-01 14:08:32

标签: database exception cassandra rpc

我正在使用Cassandra 1.2.4,当我尝试在密钥空间中查询时恢复了一些关键空间它给了我Request did not complete within rpc_timeout

所以我在system.log & output.log路径

下检查了/var/log/cassandra

我发现这个例外:

  

线程中的异常线程[ReadStage:42,5,main]   java.lang.RuntimeException:org.apache.cassandra.io.sstable.CorruptSSTableException:java.io.EOFException

是什么原因?以及如何摆脱rpc_timeout

提前感谢,

2 个答案:

答案 0 :(得分:1)

似乎你的SStables被破坏了。您可以尝试使用nodetool重建它们 scrub [keyspace]操作。

如果您无法访问特定的密钥空间,

> ./nodetool -u <username> -pw <password> -h <cassandra_ip> scrub <keyspace> 

或者如果您无法访问任何键空间,

> ./nodetool -u <username> -pw <password> -h <cassandra_ip> scrub 

答案 1 :(得分:1)

当服务器发生任何错误时,

cqlsh会返回rpc_timeout。 (远程过程调用 - 服务器 - 超时)。

我认为您的问题是在备份/恢复之后,恢复步骤可能无法正常执行并且您的sstables已损坏。 this可能会有所帮助。