我正在尝试将我的 cassandra 数据从一个集群转储到另一个集群,为此我使用 sstableloader。
除了为我的二级索引列创建的数据文件之外,转储过程中一切顺利。当我尝试转储它时,它会失败并显示“COLUMN FAMILY DOES NOT EXISTS”。
我已经从源集群创建了架构。
我知道 .db 文件的格式为 keyspace-columnfamily- Generation-number-Data.db,但我的索引 CF 的 .db 文件将具有 keyspace-columnfamily- index_name- Generation-number-Data.db。因此,它正在搜索包含index_name 的CF 名称。
如何使用 sstableloader 转储这些文件?
最佳答案
您不应该转储索引文件。鉴于目标集群中的架构定义与源集群相同,您的目标集群将在加载 SSTables 后重新生成二级索引。您看到该消息的原因是因为在幕后二级索引被定义为本地列族。
因此,转储“Data.db”文件,在目标集群中定义架构,加载 sstables 并重新启动。剩下的事情应该由您来处理。
关于cassandra - 如何在 cassandra 中使用 sstableloader 转储索引的 .db 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21684071/