Cassandra:请求未在 rpc_timeout 内完成
Posted
技术标签:
【中文标题】Cassandra:请求未在 rpc_timeout 内完成【英文标题】:Cassandra:Request did not complete within rpc_timeout 【发布时间】:2014-02-01 14:08:31 【问题描述】:我可能正在使用 Cassandra 1.2.4,在我尝试在键空间中查询时恢复了一些键空间后,它给了我Request did not complete within rpc_timeout
所以我在/var/log/cassandra
路径下检查了system.log & output.log
我只是发现了这个异常:
线程 Thread[ReadStage:42,5,main] 中的异常 java.lang.RuntimeException: org.apache.cassandra.io.sstable.CorruptSSTableException: java.io.EOFException
原因是什么?我怎样才能摆脱rpc_timeout
提前致谢,
【问题讨论】:
【参考方案1】:似乎您的 SStables 已损坏。您可以尝试使用 nodetool 重建它们
scrub [keyspace]
操作。
如果您无法访问特定的键空间,
> ./nodetool -u <username> -pw <password> -h <cassandra_ip> scrub <keyspace>
或者如果您无法访问任何键空间,
> ./nodetool -u <username> -pw <password> -h <cassandra_ip> scrub
【讨论】:
感谢@Bhathiya,但它给了我这个例外Exception in thread "main" FSWriteError in /var/lib/cassandra/data/key_space/table_name/snapshots/pre-scrub-1391324805458/key_space-table_name-ic-10-Statistics.db
这是文件系统权限问题。授予 /var/lib/ 中 cassandra 目录的 r/w 权限【参考方案2】:
cqlsh
在服务器发生任何错误时返回rpc_timeout
。 (远程过程调用 - 到服务器 - 超时)。
我认为您的问题是在备份/恢复之后,恢复步骤可能无法正确执行并且您的 sstables 已损坏。 this 可能会有所帮助。
【讨论】:
以上是关于Cassandra:请求未在 rpc_timeout 内完成的主要内容,如果未能解决你的问题,请参考以下文章
Cassandra 写入后读取与 LOCAL_QUORUM 不一致