cassandra - 复制因子 3 但所有权总数仅为 100% 而不是 300%

标签 cassandra replication

我在一组 Solaris 服务器上遇到了一些 Cassandra 集群的奇怪问题。每个集群有 3 个服务器,其复制因子设置为 3。

[admin@unknown] describe resolve;

WARNING: CQL3 tables are intentionally omitted from 'describe' output.
See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.

Keyspace: resolve:
  Replication Strategy: org.apache.cassandra.locator.SimpleStrategy
  Durable Writes: true
    Options: [replication_factor:3]
  Column Families:

但是当我们运行“nodetool ring”命令时,它报告每个服务器只拥有 33.33% 的数据。
Datacenter: datacenter1
==========
Address       Rack        Status State   Load            Owns                Token
                                                                             113427455640312821154458202477256070484
10.46.36.187  rack1       Up     Normal  44.78 GB        33.33%              0
10.46.36.189  rack1       Up     Normal  39.59 GB        33.33%              56713727820156410577229101238628035242
10.46.36.190  rack1       Up     Normal  34.78 GB        33.33%              113427455640312821154458202477256070484

在具有相同设置的所有其他集群中,它们报告 100% 所有权。由此看来,正在使用的复制因子仍然是 1。另一个奇怪的事情是当我们的其他集群打印时,nodetool 环没有打印出“副本”行。我们所有的集群目前都是 1.2.5 版。

我已经尝试在所有节点上运行“nodetool repair”命令并重新运行“update keyspace”命令来设置 replication_factor 但所有权百分比保持不变。还有什么我可以查看或检查以了解为什么会发生这种情况的吗?

编辑:

这是我通常在其他集群中看到的:
Datacenter: datacenter1
==========
Replicas: 3

Address     Rack        Status State   Load            Owns                Token
                                                                           113427455640312821154458202477256070484
10.50.2.65  rack1       Up     Normal  126.65 KB       100.00%             0
10.50.2.66  rack1       Up     Normal  122.15 KB       100.00%             56713727820156410577229101238628035242
10.50.2.67  rack1       Up     Normal  122.29 KB       100.00%             113427455640312821154458202477256070484

最佳答案

你误解了输出。 owns信息只是告诉您,就 token 而言,特定节点处理了多少环 (%)。

复制因子与此信息无关:每个节点负责可能生成的分区键 token 的 1/3。给看看token柱子。

如果你想验证你的射频,用 quorum cl 写一些数据,从集群中取出一个节点,用quorum cl
HTH
卡罗

关于cassandra - 复制因子 3 但所有权总数仅为 100% 而不是 300%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29380995/

相关文章:

cassandra - 是否可以在 cql 脚本中的 cql 命令中使用变量?

python - 如何使用 Python 驱动程序获取 Cassandra 集群的名称?

replication - 数据复制和同步的区别?

cluster-computing - ehcache 不在 liferay 集群中复制

node.js - 在 Cassandra node.js 驱动程序中使用中等大小的 fetchSize 时出现帧流错误

cassandra - 使用 Cassandra 获取最新的独特结果

cassandra - cassandra的物理磁盘空间管理

couchdb - 如何更改 CouchDB 中复制时传入的文档

typescript - 如何在 NestJS 中配置 TypeORM 以使用 postgres 复制?

mysql - 通过 Kafka 与 mysql 事件进行复制