1

我正在尝试将 Apache Cassandra 节点连接到一个环中。它们不是 Datastax 版本,而是来自 Apache 网站的 Cassandra 1.2.8。当尝试添加一个作为另一个的种子时,我得到以下异常:

Unable to find compaction strategy class 'com.datastax.bdp.hadoop.cfs.compaction.CFSCompactionStrategy'

在此之前,我将“listen_address”和“rpc_address”更改为每个节点的本地 IP 地址。下一步,我将一个 IP 作为种子添加到另一个节点。节点启动,打印异常但两个节点运行良好,直到重新启动。重新启动任一节点后,将打印异常并且节点不运行。

这很奇怪——我没有任何 DSE 组件。

4

2 回答 2

1

您以前是否使用过任何 DSE 组件?如果您在任何节点上使用并且正在使用相同的数据目录,它可能会找到使用此压缩策略创建的旧列族。如果所有节点上的数据目录中都没有所需的数据,则应通过停止所有节点、删除目录、然后启动节点来清除它们。

或者,如果您有任何 DSE 节点仍在运行,它们可能正在加入新集群并传播其模式,因此使用此压缩策略创建列族。您可以通过查看日志并查看哪些节点尝试连接来找出答案。如果任何不是来自您的 1.2.8 戒指,那么这可能是原因。

于 2013-08-03T08:58:20.117 回答
0

该错误意味着您的环中有一个 DSE Analytics 节点,或者您从某个具有 Analytics 节点的地方恢复了您的架构。

我会检查您的 VM 上是否有文件夹 /etc/dse/,这意味着 DSE 已安装在那里。

要擦除节点并明智地从头开始架构,您可以停止节点,删除 /system/schema_* 文件夹,然后启动节点。当它启动时,它将没有架构。重新创建您之前拥有的任何键空间/列族,它们将从磁盘中读取。

于 2013-08-09T01:46:20.260 回答