需要帮助。最近,我们在现有集群中添加了新的DC。我们在新DC中的每个节点上使用rebuild命令将历史数据从旧DC流式传输到新DC。
我面临的问题是,由于高数据量和较长的GC暂停时间,旧DC节点中的Cassandra服务停止,当发生这种情况时,重建也会停止。当我们再次启动它时,它显示它再次流式传输相同数量的数据。
我们使用的是Cassandra 3.11.x。根据Cassandra文档,如果rebuild命令停止,并且您再次运行它,它将从它停止的偏移量恢复流。但似乎并没有发生。
有没有人可以帮我理解重启后重建的工作原理,以及我如何克服这个问题。
提前感谢
发布于 2021-09-10 13:29:13
你没有具体说明你所说的“似乎没有发生”是什么意思。理想情况下,你需要明确地描述你是如何确定它没有“发生”的。否则,很难给你一个有意义的答案。
在任何情况下,节点都有哪些令牌范围和哪些密钥空间已被流式传输并可供服务的记录。此信息存储在system.available_ranges表中。
一旦给定键空间的特定范围的令牌成功地流式传输到节点,就会在available_ranges表中创建一个条目,因此,如果您尝试重新运行rebuild或bootstrap resume,则不会再次重新流式传输已完成的范围。干杯!
https://stackoverflow.com/questions/69131863
复制相似问题