Cassandra gossipinfo严重性说明

Seg*_*ted 1 cassandra nodetool

我找不到关于中severity指示内容的良好文档/说明nodetool gossipinfo。正在寻找详细的说明,但找不到合适的说明。

Chr*_*ink 5

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

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

现在,如果要从读取中排除该值,仍然可以使用JMX将该值设置为(仍然为1)。一个示例用例正在使用,nodetool disablebinary因此应用程序不会直接查询它,然后将严重性设置为1。然后,只有存在CL.ALL请求或读取修复时,集群才会查询该节点。从读取的角度来看,这是使节点“脱机”进行维护的一种方法,但仍允许其发生突变,因此不会落后。