【发布时间】:2021-09-10 21:29:13
【问题描述】:
需要帮助。最近我们在现有集群中添加了新的 DC。我们在新 DC 中的每个节点上使用重建命令将历史数据从旧 DC 流式传输到新 DC。
我面临的问题是,由于高数据量和较长的 GC 暂停,旧 DC 节点中的 Cassandra 服务停止,并且当它发生时,重建也停止。当我们再次启动它时,它显示它再次流式传输相同数量的数据。
我们使用的是 Cassandra 3.11.x。根据 Cassandra 文档,如果重建命令停止并且您再次运行它,它将从停止的偏移量恢复流式传输。但似乎没有发生。
任何人都可以帮助了解重新启动后重建的工作原理以及如何克服这个问题。
提前致谢
【问题讨论】:
-
您是否尝试同时在所有节点上运行重建?还是一次一个?
-
一次一个。我的一个观察结果是,如果新节点从任何旧 DC 节点完成整个流式传输,则该令牌范围保存在
available_ranges表中,然后如果我再次运行重建,则它不会从该节点流式传输数据。跨度>