cassandra - 如何在 cassandra 中使用 sstableloader 转储索引的 .db 文件

标签 cassandra datastax-enterprise datastax

我正在尝试将我的 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/

相关文章:

javascript - Helenus 无法连接

cassandra - opscenter升级到5.1.1老是升级代理失败

ubuntu - 从数据、摘要、索引和过滤文件恢复 cassandra 节点

Cassandra 时间数据类型

Cassandra - 使用 TimeUUID 重复时间戳?

database - Apache Cassandra : Does the auto_bootstrap property allow new (non-seed) nodes to stream data from nodes in another DC?

ssl - 在启用 SSL 的情况下运行 Cassandra CLI

Cassandra 最佳实践 : it is a good idea to add Ha Proxy in front of Cassandra?

java - Spark 和 Cassandra Java 应用程序 : Exception in thread "main" java. lang.NoClassDefFoundError: org/apache/spark/sql/Dataset

cassandra - 使用 Cassandra 的 Java 对象映射 API 插入 now()