我正在所有三个节点上运行一个查询。其中一个查询将显示十行,而同一个查询将在另两行上显示两行。
复制因子设置为3:
keyspace_name | durable_writes | replication
--------------------+----------------+-------------------------------------------------------------------------------------
table name | True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '3'}
节点工具网络状态:
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修复已在所有节点上运行。
1条答案
按热度按时间rryofs0p1#
根据您的意见,可以使用一致性级别的quorum或更高级别来防止此问题。需要考虑的一点是,增加一致性可能会对性能和恢复能力产生影响。例如,使用一致性级别all将确保始终具有准确的数据,但是如果集群的某个示例出现问题,查询将失败,因为不满足一致性级别。最佳一致性级别将取决于您的用例和sla。
你多久修理一次(
nodetool repair
)在你的集群里?修复将解决从每个节点检索到的不同数据的根本原因。