我在一组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环没有打印出" Replicas"当我们的其他集群做的时候。我们所有的集群目前都是1.2.5版本。
我已经尝试过运行" nodetool repair"命令在所有节点上重新运行"更新密钥空间"命令设置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
答案 0 :(得分:0)
你误解了输出。 owns
信息只是告诉您,在令牌方面,特定节点处理了多少环(%)。
复制因子与此信息无关:每个节点负责生成的分区密钥令牌的1/3。查看token
列。
如果您要验证您的rf使用quorum cl
写入某些数据,请从群集中取出一个节点,请求
quorum cl
HTH
卡罗