2

我刚刚安装了一个全新的 Windows 服务器,安装了全新的 datastax,包括 cassandra 1.2 和 opscenter 2.1.3。我尝试在 cassandra wikis 和 datastax 网站上找到这些问题的解决方案,但我只能找到 unix 特定信息或 datastax API 信息。

Cassandra 默认使用 C: 驱动器(安装过程中我从未被要求为 cassandra 选择驱动器)。

  • 在同一个 cassandra 实例中,我可以在不同的磁盘上有键空间吗?
  • 如果没有,如何将现有密钥空间迁移到新驱动器?(只是重新配置 cassandra.yaml 以使用新目录会丢失我的 opscenter 数据,甚至可能会破坏 opscenter)。
  • 如果是,如何在单独的驱动器上创建新的密钥空间?cassandra.yaml 似乎只有单个商店位置的配置选项。
  • 我应该创建一个新的集群来存储我的数据吗?如果我开始向默认集群添加新节点,这将意味着 datastax opscenter 数据将被复制——这似乎是个坏主意。

如果某处有关于此的良好文档,请指出我那里。

谢谢,亚当

4

1 回答 1

4

您不能让 cassandra 拆分键空间并将它们存储在不同的目录中。它们都存储在 cassandra.yaml 文件中指定的公共数据目录下。

但是,您可以设置它并使用 NTFS 在服务器上的数据目录下安装不同的驱动器,但这并不简单或可扩展。

如果要移动数据在 cassandra 上的存储位置,请停止 cassandra 守护程序/服务,更改 cassandra.yaml 文件以将数据存储在新位置,然后将整个数据目录复制/移动到这个新位置. 然后启动 cassandra 备份,它将与新位置的数据一起正常工作。我已经这样做了好几次了,cassandra 恢复正常,没有任何数据丢失(如果你不移动数据,那么它将丢失所有数据并在新位置下重新创建目录结构)。

数据被复制并不是一件坏事——这就是 cassandra 的设计目的。我不知道 opscenter 使用什么复制因子,但它不会存储大量数据,因此复制不是问题。

于 2013-01-14T16:20:21.287 回答