我有一个有8个节点的datastax cassandra集群,应用程序使用的键空间包含大约400个表,cassandra.yaml中的参数write_request_timeout_in_ms设置为2000ms(默认值)。默认值对于大多数表来说已经足够高了,但是对于两个表来说,我需要更高的write_request_timeout,我知道bloomfilter误报概率或压缩策略等可以为每个表配置。是否有可能对超时做同样的事情,如果有,那么如何做?问候
cassandra.yaml
write_request_timeout_in_ms
2000ms
oxiaedzo1#
无法配置不同的写入超时,因为所有写入都将持久化到同一个commitlog磁盘。如果由于commitlog磁盘忙碌而没有足够的副本(基于写入一致性级别)确认写入(到磁盘),则协调器将返回写入超时。由于每个节点上只有一个commitlog磁盘,因此具有不同的写超时是没有意义的,这实际上提出了另一个问题--您试图解决什么问题?增加超时几乎从来都不是正确的做法,因为它所做的一切都是隐藏问题。您需要确定问题的根源并修复它。干杯!
commitlog
1条答案
按热度按时间oxiaedzo1#
无法配置不同的写入超时,因为所有写入都将持久化到同一个
commitlog
磁盘。如果由于
commitlog
磁盘忙碌而没有足够的副本(基于写入一致性级别)确认写入(到磁盘),则协调器将返回写入超时。由于每个节点上只有一个
commitlog
磁盘,因此具有不同的写超时是没有意义的,这实际上提出了另一个问题--您试图解决什么问题?增加超时几乎从来都不是正确的做法,因为它所做的一切都是隐藏问题。您需要确定问题的根源并修复它。干杯!