制作:
nodetool flush (on cassandra)nodetool snapshot name_snapshot ) (on cassandra)cqlsh [IP] "-e DESC SCHEMA" > orig_schema.cql ) (on cassandra)cqlsh [IP] --file 'orig_schema.cql' (on scylla)while IFS= read -r d; do sstableloader -cph 14 -j 14 -nb -nx -d [IP] ${d}/ done < <(find /dir_snapshot/keyspace/* -prune -type d)))
但是数据被写入cassandra (不可能阻止应用程序写入cassandra),我如何在scylla中传输/抛出增量?我知道应用程序可以被配置为同时写入Cassandra和Scylla,但是现在数据之间的差距是4个月。将经过4个月积累的数据中的变化转移到Scylla是合乎逻辑的。
发布于 2022-03-02 17:48:36
您已经回避的内容--如果您不能将应用程序降下来进行维护--您将不得不使用应用程序进行切换。
这里的典型路径是将应用程序代码更改为同时写入两个集群(Cassandra & Scylla),同时继续从Cassandra读取。
在此过程中,您可以恢复数据,直到将双写部署到Scylla。
一旦Scylla集群和Cassandra集群包含相同数量的数据,您将更改应用程序以从Scylla读取和写入,并退出Cassandra集群
Step 1: Write C & S -> Read C
Step 2: Migrate old Data C -> S
Step 3: Write S -> Read Shttps://stackoverflow.com/questions/71319229
复制相似问题