cassandra - Cassandra Rebuild 每次重新启动时都会从头开始
问题描述
需要帮忙。最近我们在现有集群中添加了新的 DC。我们在新 DC 中的每个节点上使用重建命令将历史数据从旧 DC 流式传输到新 DC。
我面临的问题是,由于大数据量和较长的 GC 暂停,旧 DC 节点中的 Cassandra 服务停止,并且当它发生时,重建也停止。当我们再次启动它时,它显示它再次流式传输相同数量的数据。
我们正在使用 Cassandra 3.11.x。根据 Cassandra 文档,如果重建命令停止并且您再次运行它,它将从停止的偏移量恢复流式传输。但似乎没有发生。
任何人都可以帮助了解重新启动后重建的工作原理以及如何克服这个问题。
提前致谢
解决方案
您没有具体说明“似乎没有发生”是什么意思。理想情况下,您需要明确描述您如何确定它没有“发生”。否则,给你一个有意义的答案有点困难。
在任何情况下,节点都会记录哪些令牌范围和哪些键空间已被流式传输并可供服务。此信息存储在system.available_ranges
表中。
一旦给定键空间的特定范围的令牌已成功流式传输到节点,就会在available_ranges
表中创建一个条目,因此如果您尝试重新运行rebuild
or bootstrap resume
,已完成的范围将不会再次重新流式传输。干杯!
推荐阅读
- swift - Swift AutoLayout-锚未以编程方式应用
- reactjs - 创建 React App 测试覆盖率报告不涵盖 /src 中的所有文件
- c# - 如何在mvc orderBy中使用条件语句将0值移到最后
- excel - Excel PowerQuery 查询两次以在刷新时下载 excel 表 2 次
- c# - 当 ShowInTaskBar 设置为 false 时,最小化会在桌面上创建一个可见栏
- python - Sagemaker:ImportError:运行训练脚本时没有名为“pandas”的模块
- java - RestController 的抽象类自定义反序列化
- ruby-on-rails - 在 mongoid 中使用 money-rails:如何为每个模型实例设置货币
- java - Android 10:返回 Activity 后 exitTransition 重置
- javascript - 为什么我的网页显示 [object HTMLParagraphElement]?