Cassandra gossipinfo 严重性解释

Cassandra gossipinfo severity explained

关于 severitynodetool gossipinfo 中表示的内容,我无法找到好的 documentation/explanation。正在寻找详细的解释,但找不到合适的解释。

严重性报告 activity 发生在特定节点上(压缩等),然后使用此信息来决定哪个节点可以更好地处理请求。 original JIRA 中讨论了此功能以及如何使用此信息。

P.S。请参阅 Chris 关于 post 3.10 版本更改的回答 - 我不知道这些更改...

严重性是添加到动态告密中的延迟的值,以确定协调器将读取的数据和摘要请求发送到哪个副本。

它的值将取决于压缩中使用的 IO,并且它还会尝试读取 /proc/stat(与 iostat 实用程序相同)以获取实际的磁盘统计信息作为其权重。在 post 3.10 版本的 cassandra 中,这已在 https://issues.apache.org/jira/browse/CASSANDRA-11738 中删除。在以前的版本中,您可以通过在 jvm 选项中设置 -Dcassandra.ignore_dynamic_snitch_severity 来禁用它。问题是它对 io 使用的加权与延迟相同。因此,如果一个节点正在 GC 抖动并且因此没有做太多 IO,它最终可能会被视为大多数读取的目标,即使它是发送请求的最差节点。

现在,如果您不想将其用于读取,您仍然可以使用 JMX 将该值设置为 1。一个示例用例是使用 nodetool disablebinary 因此应用程序不会直接查询它,然后将严重性设置为 1。如果有 CL.ALL 请求或读取修复,则该节点将仅由集群查询。这是一种从读取角度对节点 "offline" 进行维护的方法,但仍允许它发生突变,因此它不会落后。