【发布时间】:2019-05-22 15:07:45
【问题描述】:
我正在运行具有 1 个数据中心、2 个机架和 11 个节点的 cassandra 3.11.4 集群。我的键空间和表设置为复制 2。我使用 Prometheus-Grafana-Combo 来监控集群。
观察:在使用写入一致性级别 ALL(即 2 个节点)的(大规模)插入期间,受影响的表/节点会慢慢不同步(一个节点上的最坏情况:在 6 小时内从 100% 到 83%)。我的期望是,只有当我使用 ANY(或任何小于我的复制因子)时才会发生这种情况。
我真的很想了解这种行为。
还有什么有趣的:如果我敢于使用写一致性 ANY,我就会明白这一点——即使所有节点都在线,Cassandra 甚至似乎都没有尝试写入所有节点。在任何情况下(任何或所有)如果必须执行增量修复。
【问题讨论】:
-
如何定义和衡量“不同步”?
-
我使用“Cassandra Exporter”将 Cassandra 的指标导出到 Prometheus/Grafana ([github.com/criteo/cassandra_exporter])。示例条目将是
cassandra_stats{cluster="MyCluster",datacenter="datacenter1",instance="<NodeIP>:8050",job="cassandra",keyspace="somekeyspace",name="org:apache:cassandra:metrics:table:somekeyspace:mytable:percentrepaired:value",table="mytable"}或者我也可以使用nodetool info重现这些递减的数字