Cassandra,改变replication_factor后的奇怪行为

标签 cassandra cql

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

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

我创建了一个键空间“训练”:

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

然后,

use training;

然后,

create table customers (...);

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

然后,更改复制因子:

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

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

我完全被难住了。有人知道为什么会这样吗?

我想到了一个奇怪的可能性:在集群中的三个节点中,两个运行 Ubuntu,64 位操作系统,第三个运行 32 位 Windows 7 操作系统。这重要/解释这种行为吗?

谢谢。

最佳答案

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

关于Cassandra,改变replication_factor后的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26841076/

相关文章:

cassandra - 如何按用户定义类型的字段过滤 cassandra 查询

cassandra - 从 Cassandra 获取最后插入的数据

cassandra - 无法在 Windows 10 上启动 Cassandra

Cassandra CQL-更新命令以不创建新行

c# - Cassandra NumberFormatException : Zero length BigInteger

cassandra - 在 Centos 6.7 上运行 cassandra-stress 时出错

cassandra - 有没有办法以编程方式使用 cassandra nodetool?

java - Cassandra-CQL ClusterBuilder 的 addContactPoints 的工作

java - 社交媒体应用程序的最佳架构

cassandra - 使用 cql 相对于 thrift 的优点