卡桑德拉最近蓝屏导致腐败SSTables

问题描述:

到目前为止,一切都很好。我们在一台机器上有一个BSOD,现在已经损坏了SSTables。我们正在尝试找到正确的过程来使此节点联机。我只是喜欢杀死数据并修复节点,因为我们有复制2,但由于每个节点上的数据量太大,我无法做到这一点。卡桑德拉最近蓝屏导致腐败SSTables

附加是错误。

我试图运行nodetool擦洗,但由于DSE无法启动,我得到正常无法连接到127.0.0.1错误。

我应该编辑配置并从策略停止更改为尽力而为,然后启动/运行命令?

感谢,


ERROR 20时58分34秒强行退出,由于在启动时的文件系统异常,硬盘故障政策 “停止” org.apache.cassandra.io.sstable.CorruptSSTableException:JAVA。 io.EOFException at org.apache.cassandra.io.compress.CompressionMetadata。(CompressionMetadata.java:131)〜[cassandra-all-2.1.11.908.jar:2.1.11.908] at org.apache.cassandra.io。 compress.CompressionMetadata.create(CompressionMetadata.java:85)〜[cassandra-all-2.1.11.908.jar:2.1.11.908] at org.apache.cassandra.io.util.CompressedSegmentedFile $ Builder.metadata(Compres sedSegmentedFile.java:79)〜[cassandra-all-2.1.11.908.jar:2.1.11.908] at org.apache.cassandra.io.util.CompressedPoolingSegmentedFile $ Builder.complete(CompressedPoolingSegmentedFile.java:72)〜[cassandra- all-2.1.11.908.jar:2.1.11.908] at org.apache.cassandra.io.util.SegmentedFile $ Builder.complete(SegmentedFile.java:169)〜[cassandra-all-2.1.11.908.jar:2.1。 11.908] at org.apache.cassandra.io.sstable.SSTableReader.load(SSTableReader.java:741)〜[cassandra-all-2.1.11.908.jar:2.1.11.908] at org.apache.cassandra.io。 sstable.SSTableReader.load(SSTableReader.java:692)〜[cassandra-all-2.1.11.908.jar:2.1.11.908] at org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:480) 〜[cassandra-all-2.1.11.908.jar:2.1.11.908] at org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:376) 〜[cassandra-all-2.1.11.908.jar:2.1.11.908] at org.apache.cassandra.io.sstable.SSTableReader $ 4.run(SSTableReader.java:523)〜[cassandra-all-2.1.11.908.jar :2.1.11.908] at java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)[na:1.8.0_66] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [Na:1.8.0_66] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[na:1.8.0_66] at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java: 617)[na:1.8.0_66] at java.lang.Thread.run(Thread.java:745)[na:1.8.0_66] 引起来自:java.io.EOFException:null at java.io.DataInputStream .readUnsignedShort(DataInputStream.java:340)〜[na:1.8.0_66] at java.io.DataInputStream.readUTF(DataInputStream.java:589)〜[na:1.8.0_66] at java.io.DataInputStream.readUTF(DataInputStream.java:564)〜[na:1.8.0_66] at org。 apache.cassandra.io.compress.CompressionMetadata。(CompressionMetadata.java:106)〜[cassandra-all-2.1.11.908.jar:2.1.11.908] ... 14个常见帧被遗漏 错误20:58:34强行退出由于启动时文件系统异常,磁盘故障策略“停止” org.apache.cassandra.io.sstable.CorruptSSTableException:java.io.EOFException at org.apache.cassandra.io.compress.CompressionMetadata。(CompressionMetadata.java :131)〜[cassandra-all-2.1.11.908.jar:2.1.11.908] at org.apache.cassandra.io.compress.CompressionMetadata.create(CompressionMetadata.java:85)〜[cassandra-all-2.1.11.908的.jar:2.1。11.908] at org.apache.cassandra.io.util.CompressedSegmentedFile $ Builder.metadata(CompressedSegmentedFile.java:79)〜[cassandra-all-2.1.11.908.jar:2.1.11.908] at org.apache.cassandra。 io.util.CompressedPoolingSegmentedFile $ Builder.complete(CompressedPoolingSegmentedFile.java:72)〜[卡桑德拉-全2.1.11.908.jar:2.1.11.908] 在org.apache.cassandra.io.util.SegmentedFile $ Builder.complete( SegmentedFile.java:169)〜[cassandra-all-2.1.11.908.jar:2.1.11.908] at org.apache.cassandra.io.sstable.SSTableReader.load(SSTableReader.java:741)〜[cassandra-all- 2.1.11.908.jar:2.1.11.908] 在org.apache.cassandra.io.sstable.SSTableReader.load(SSTableReader.java:692)〜[卡桑德拉-全2.1.11.908.jar:2.1.11.908] 在org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:480)〜[cassandra-all-2.1.11.908.jar:2 .1.11.908] 在org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:376)〜[卡桑德拉-全2.1.11.908.jar:2.1.11.908] 在org.apache.cassandra .io.sstable.SSTableReader $ 4.run(SSTableReader.java:523)〜[cassandra-all-2.1.11.908.jar:2.1.11.908] at java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java: 511)[NA:1.8.0_66] 在java.util.concurrent.FutureTask.run(FutureTask.java:266)[NA:1.8.0_66] 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java: 1142)[NA:1.8.0_66] 在java.util.concurrent.ThreadPoolExecutor中$ Worker.run(ThreadPoolExecutor.java:617)[NA:1.8.0_66] 在java.lang.Thread.run(Thread.java: 745)[na:1.8.0_66] 引起:java.io.EOFException:null 在java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340)〜[na:1.8.0_66] at java.io.DataInputStream.readUTF(DataInputStream.java:589)〜[na:1.8.0_66] at java .io.DataInputStream.readUTF(DataInputStream.java:564)〜[na:1.8.0_66] at org.apache.cassandra.io.compress.CompressionMetadata。(CompressionMetadata.java:106)〜[cassandra-all-2.1。 11.908.jar:2.1.11.908] ...... 14个共同框架省略 INFO 20时58分34秒DSE关停...... INFO 20时58分34秒所有的插件都停止。

+0

你试过离线擦洗工具? https://docs.datastax.com/en/cassandra/2.1/cassandra/tools/toolsSSTableScrub_t.html –

+0

是的,我开始它,但后来因为#1规则而迅速停止。先尝试擦洗。我应该试试这个吗? –

+0

或只是删除损坏的sstable并执行修复 –

您是否检查某些磁盘故障是否导致SSTables损坏?这是稳定腐败的主要原因之一。如果是这种情况修复磁盘,然后运行nodetool修复。

+0

我不认为这个问题与驱动器故障有关,因为我可以读取驱动器上的所有数据。我认为它正处于写作过程中,由于RAID卡出现故障而发生BSOD,从而导致损坏。我目前正在运行sscrub,过去4天仍在等待它完成。 –

+0

nodetool擦洗的结果是什么,它有用吗? – rsangar1

在失败的节点上修改cassandra.yaml中的cassandra策略。

1)磁盘故障政策BEST_EFFORT 2)启动DSE启动或(卡桑德拉服务) 3)nodetool擦洗