Cassandra gossipinfo严重性解释

时间:2017-11-14 17:13:56

标签: cassandra nodetool

我无法找到severitynodetool gossipinfo中指出的内容的良好文档/说明。正在寻找详细的解释,但找不到合适的解释。

2 个答案:

答案 0 :(得分:5)

严重性是动态小报中的延迟添加的值,用于确定协调器将发送读取的DATA和DIGEST请求的副本。

它的值取决于压缩中使用的IO,并且它会尝试读取/proc/stat(与iostat实用程序相同)以获取实际磁盘统计信息作为其权重。在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请求或读取修复,那么该节点将仅由集群查询。它是一种获取节点"离线"从阅读角度进行维护,但仍允许它进行突变,因此它不会落后。

答案 1 :(得分:3)

Severity报告在特定节点上发生的活动(压缩等),然后使用此信息来决定哪个节点可以更好地处理请求。 original JIRA中有关于此功能的讨论&如何使用这些信息。

P.S。请参阅克里斯关于3.10后版本更改的答案 - 我对这些变化并不了解......