Cassandra - 数据未跨所有节点复制
Cassandra - Data not replicating across all nodes
我是 运行 跨所有三个节点的查询。其中一个查询结果显示十行,而同一查询在另外两个上显示两行。
复制因子设置为3:
keyspace_name | durable_writes | replication
--------------------+----------------+-------------------------------------------------------------------------------------
table name | True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '3'}
Nodetool 网络统计:
nodetool netstats
Mode: NORMAL
Not sending any streams.
Read Repair Statistics:
Attempted: 16519
Mismatch (Blocking): 0
Mismatch (Background): 0
Pool Name Active Pending Completed Dropped
Large messages n/a 1 13 4
Small messages n/a 0 320422 4
Gossip messages n/a 0 12972040 470
Nodetool 修复已 运行 遍及所有节点。
根据您的评论,可以使用 QUORUM 或更高的一致性级别来避免此问题。需要考虑的一件事是,提高一致性可能会对性能和弹性产生影响。例如,使用 ALL 的一致性级别将确保始终拥有准确的数据,但如果集群的其中一个实例出现问题,则查询将失败,因为无法满足一致性级别。最佳一致性级别将取决于您的用例和 SLA。
您多久对集群执行一次修复 (nodetool repair
)?修复将解决从每个节点检索到的不同数据的根本原因。
我是 运行 跨所有三个节点的查询。其中一个查询结果显示十行,而同一查询在另外两个上显示两行。
复制因子设置为3:
keyspace_name | durable_writes | replication
--------------------+----------------+-------------------------------------------------------------------------------------
table name | True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '3'}
Nodetool 网络统计:
nodetool netstats
Mode: NORMAL
Not sending any streams.
Read Repair Statistics:
Attempted: 16519
Mismatch (Blocking): 0
Mismatch (Background): 0
Pool Name Active Pending Completed Dropped
Large messages n/a 1 13 4
Small messages n/a 0 320422 4
Gossip messages n/a 0 12972040 470
Nodetool 修复已 运行 遍及所有节点。
根据您的评论,可以使用 QUORUM 或更高的一致性级别来避免此问题。需要考虑的一件事是,提高一致性可能会对性能和弹性产生影响。例如,使用 ALL 的一致性级别将确保始终拥有准确的数据,但如果集群的其中一个实例出现问题,则查询将失败,因为无法满足一致性级别。最佳一致性级别将取决于您的用例和 SLA。
您多久对集群执行一次修复 (nodetool repair
)?修复将解决从每个节点检索到的不同数据的根本原因。