我已重读了这篇文章好几次 ,但仍然无法理解一些内容......
- 我有包含 3 个 dc 的生产集群,并且每个 dc 中的表都有 rf=3
- 我已经在每个节点上同时使用 ansible 拍摄了快照
2.1)我在测试集群上为键空间和表创建了相同的模式
- 下一步我必须将每个快照复制到每个测试服务器?例如:prod1 --> test1:path_to_table,prod2 --> test2:path_to_table?
- 最后一步:我到底应该在哪里运行 sstableloader?我必须在测试集群中的每个服务器上运行它吗?还是只在某一个服务器上运行?-d 选项表示源节点还是目标节点?请帮忙。
您不必在“步骤 3”中将快照复制到目标节点。您可以将快照放置在任何安装了 (1) Cassandra 的服务器或节点上,但 (2) 无需运行。
这个想法是,您需要 Cassandra 二进制文件才能运行该
sstableloader
工具。我们 (3) 不建议sstableloader
在源节点上运行,特别是当它们是生产集群的一部分时,因为它会影响生产系统的性能。您可以在目标节点(您的测试服务器)上运行,
sstableloader
但请注意 (4) 如果快照与已安装的 Cassandra 数据目录位于同一磁盘上,(5) 它们将争夺相同的可用 IO,您可能会发现批量加载会很慢。干杯!