当前位置: 首页 > 知识库问答 >
问题:

Cassandra SSTable腐败-如何预防?

萧建木
2023-03-14

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

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

java.lang.RuntimeException:org.apache.cassandra.io.stable。损坏的SSTableException:已损坏:/cassandra/data/data/ams/mydata_attr_v1-de4f9960a01711e783ea2bd3a6beadcf/mc-2925-big-data。数据库位于org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:2490)~[apache-cassandra-3.9.jar:3.9],位于java.util.concurrent.Executors$RunnableAdapter.call(Executtors.java:511)~[na:1.8.0_72],位于org.aaphe.casssandra.concurrent~

我的问题:

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

我看到留档如何修复SStable错误,当它发生时,但没有明确的留档这些错误的原因和防止它们。

共有1个答案

养鸿运
2023-03-14

由于以下原因,可能会发生稳定的腐败

  1. 断电或手动关机导致Cassandra节点突然关机
  2. 磁盘故障。

在手动停止Cassandra之前,始终尝试通过运行< code>nodetool drain正常关闭Cassandra。

 类似资料:
  • 问题内容: 也许是愚蠢的问题,但是运行* .jar包时出现随机跟踪错误。有时programm可以完美运行,有时会中断将其放到控制台中: 我正在使用运行的Ubuntu 13.10 64位: 谢谢你的帮助 :) 问题答案: 我知道这是一个旧线程,但以防万一有人在同一错误中失败。 这是您正在使用的本机库的多线程问题。 长话短说,java将本机库加载到内存中,然后由多个线程同时访问它,然后弹出此错误。 此

  • 我注意到Kafka记录有一个CRC字段。如果日志文件中的记录损坏(例如,消息中间的一个比特被翻转),那么在流应用程序中,我希望看到的是: 该主题被复制 由于我们使用的是Avro,我可以想象以下情况之一: 底层基础设施检测到CRC错误,并从另一个代理获取该错误

  • 腐朽国度(RealmOfDecay)是一款角色扮演游戏,让你升级你的技能,购买新的装备,等等。 点击可玩 https://static.oschina.net/trytry/RealmOfDecay  

  • 到目前为止,一切都很好。我们有一台机器上的BSOD现在有腐败的马厩。我们正在尝试找到使此节点联机的正确过程。我只想杀死数据并修复节点,因为我们有Replication2,但由于每个节点上的数据量,我不能这样做。 附加的是错误。

  • 问题内容: 我是否正确使用ng-cloak?在chrome中,带有帮助文本的div在被隐藏之前会闪烁。如果我加 到锚点。我没有得到这样的闪光。在我的角度类中,hideHelp默认为true。 问题答案: 如果您正在使用,则必须在其中添加特定的样式(以便它们在AngularJS加载之前起作用)。 https://docs.angularjs.org/api/ng/directive/ngCloak

  • 我正在用frisby创建HTTP测试.js它可以在jasmine.js之上工作。 我还必须创建一些mongoDB对象进行测试。问题是当我想清理这些数据库对象时。当其中一个期望失败时,我想拦截它并调用我自己的清理函数。这意味着在每次失败的测试之后,我将不能从数据库中删除测试对象。 jasmine中的后每个函数不能正常工作,jasmine还不支持后所有或前所有。这就是为什么我今天进行测试的原因。 我想