开发者社区 > 数据库 > NoSQL数据库 > 正文

nodetool scrub这个命令要执行多久啊

因为cassandra日志提示文件损坏,尝试过repair命令修复,可是卡着不动
于是kill -9后,又尝试用nodetool scrub丢弃损坏数据
到现在跑了一夜了,还没完,看cassandra日志也看不出东西,目前是控制不让数据写入

企业微信截图_20230514101240.png

另外在执行期间为什么在13(DataC)上看12(DataB)是Down的,但是在11、12上看都是Up的

13.png 12.png 11.png

补上nodetool compactionstats 的图,三个节点都差不多 scrub5-15-9-52.png

展开
收起
游客n67wbod3jsomi 2023-05-14 10:22:15 268 0
1 条回答
写回答
取消 提交回答
  • 根据您提供的信息,可能的原因和建议如下:

    1. Cassandra日志提示文件损坏,尝试过Repair命令修复,但进度非常缓慢。

      可能是文件损坏的范围比较大,导致修复速度非常缓慢。建议您考虑更换硬盘或者节点,以避免数据持续损坏的风险。

    2. 执行nodetool scrub丢弃损坏数据操作,耗时较长。

      nodetool scrub的过程会检查并删除损坏的数据,如果数据比较多的话,时间会比较长。您可以通过监控nodetool scrub的运行状况,观察IO和CPU的占用情况,来确认操作是否仍在进行中。如果操作没有被卡死,可以等待操作完成,操作完成后Cassandra会自动恢复数据写入。

    3. 在执行nodetool scrub过程中,在一些节点上DataB被标记为Down状态,但在其他节点上是Up状态。

      这可能是因为DataB节点上的数据损坏程度较为严重,导致其他节点无法从DataB节点上读取到数据,进而将DataB标记为Down状态。建议您尝试在DataB所在的节点上查看Cassandra的日志,以确认数据损坏的程度和影响范围。

    2023-05-15 09:07:46
    赞同 展开评论 打赏
问答分类:

阿里云NoSQL数据库提供了一种灵活的数据存储方式,可以支持各种数据模型,包括文档型、图型、列型和键值型。此外,它还提供了一种分布式的数据处理方式,可以支持高可用性和容灾备份。包含Redis社区版和Tair、多模数据库 Lindorm、MongoDB 版。

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载