【问题标题】:Replication Factor 3 but ownership total only 100% rather than 300%复制因子 3,但所有权总计仅为 100% 而不是 300%
【发布时间】:2015-06-05 12:31:22
【问题描述】:

我在一组 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

【问题讨论】:

    标签: cassandra replication


    【解决方案1】:

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

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

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

    HTH
    卡罗

    【讨论】:

    • 我仍然不明白为什么这是唯一一个报告 33% 的集群?我在同一个 Cassandra 版本上的所有其他集群都报告了所有三个实例的 100% 所有权,复制因子为 3。我唯一看到的其他情况是复制因子为 1。
    • 请上报其他集群的token列
    • 我已将其他集群之一的输出添加到问题中。它显示了所有三个节点的 100% 所有权,并且还报告了 Solaris 系统由于某种原因不是的副本。这是我通常在我们的集群中看到的。
    • 相同的 Cassandra 版本? Owns 在这一年发生了变化,您看到的 100% 是曾经被称为“有效所有权”的东西,它也考虑了复制因素。
    • 是的,它们都是 1.2.5 版本。此外,当我们将 keyspace 添加到 nodetool ring 命令时,我们会看到这些 Solaris 集群的 100% 所有权,这仍然有点奇怪,因为我们不需要在我们的 Linux 或其他 Solaris 集群上这样做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-16
    • 2022-08-20
    • 1970-01-01
    • 2016-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多