Cassandra,改变replication_factor后的奇怪行为

时间:2014-11-10 10:00:04

标签: cassandra cql

在更改现有键空间的replication_factor时,我遇到了一种奇怪的情况。

使用三个节点的集群,每个节点运行Datastax Cassandra社区版2.0.11。

我创建了一个键空间'培训':

create keyspace training with replication = {
'class': 'SimpleStrategy',
'replication_factor': 1
};

然后,

use training;

然后,

create table customers (...);

插入三条记录。从另一个节点查询该表,并按预期返回三条记录。

然后,更改了replication_factor:

alter keyspace training with replication = {
'class': 'SimpleStrategy',
'replication_factor': 3
};

查询表格。它显示零记录!几秒钟后,它显示了2条记录。然后再记录零。插入两条记录。现在它有时显示2条(新)记录,有时4条记录(2条新记录,2条旧记录)。所有三台机器都有相同的行为。

我绝对难过。有没有人知道为什么这样做?

我脑海中只有一种奇怪的可能性:集群中有三个节点,两个运行Ubuntu,64位操作系统,第三个运行32位Windows 7操作系统。这有关系吗?解释这种行为?

感谢。

1 个答案:

答案 0 :(得分:4)

问题解决了。我意识到我没有运行“nodetool repair”。一旦我跑了,那神秘的失踪/重新停留就停止了。