Cassandra SSTable腐败-如何预防?



我们运行一个两个数据中心的Cassandra集群。并使用Cassandra spark连接器从Apache spark写入数据。

我们有时会在某些节点看到SS表损坏错误。下面是一个异常示例:

. lang。RuntimeException: org.apache.cassandra.io.sstable.CorruptSSTableException: corruptsstableexception:/cassandra/data/data/ams/mydata_attr_v1-de4f9960a01711e783ea2bd3a6beadcf/c-2925- large - data .db at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:2490) ~[apache-cassandra-3.9.jar:3.9] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_72] at org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:164) ~

我的问题:

  1. SSTable损坏错误的原因是什么?
  2. 如何防止SSTable损坏错误?

我看到了关于如何修复SStable错误的文档,但是没有关于这些错误的原因和防止它们的明确文档。

由于

  1. Cassandra节点因断电或人为关机而突然关机
  2. 磁盘失败。

在手动停止Cassandra之前,总是尝试通过运行nodetool drain来优雅地关闭Cassandra。

相关内容

  • 没有找到相关文章

最新更新