Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cassandra—CF=1的死节点上的数据丢失_Cassandra - Fatal编程技术网

Cassandra—CF=1的死节点上的数据丢失

Cassandra—CF=1的死节点上的数据丢失,cassandra,Cassandra,我是Cassandra的新手,对配置为使用周期模式(10秒)的提交日志有疑问 假设我们有一个节点处理CF=1和RF=3的请求。如果节点处于提交日志尚未刷新到磁盘的状态,并且数据的复制也处于挂起状态,那么如果节点在此状态下崩溃,我们是否会丢失数据 另一个后续问题是,哪个节点负责根据RF=3在其他节点上复制数据?是协调器节点还是处理请求的某个其他节点取决于一致性级别?CL=1当协调器崩溃并不干净地关闭时,在将变异发送到副本并刷新提交日志之前,存在一个可能丢失数据的窗口。它的窗口非常小,不太可能,但如

我是Cassandra的新手,对配置为使用周期模式(10秒)的提交日志有疑问

假设我们有一个节点处理CF=1和RF=3的请求。如果节点处于提交日志尚未刷新到磁盘的状态,并且数据的复制也处于挂起状态,那么如果节点在此状态下崩溃,我们是否会丢失数据


另一个后续问题是,哪个节点负责根据RF=3在其他节点上复制数据?是协调器节点还是处理请求的某个其他节点取决于一致性级别?

CL=1当协调器崩溃并不干净地关闭时,在将变异发送到副本并刷新提交日志之前,存在一个可能丢失数据的窗口。它的窗口非常小,不太可能,但如果需要,请使用本地仲裁或批处理模式


协调器将向所有副本发送数据,并存储未确认的任何内容的提示。

如果协调器崩溃且不干净地关闭,则在将突变发送到副本并刷新提交日志之前,存在一个可能丢失数据的窗口。它的窗口非常小,不太可能,但如果需要,请使用本地仲裁或批处理模式


协调员将向所有副本发送数据,并存储未确认内容的提示。

我认为以下链接可能对您有用:

是的,在这种情况下可能会丢失数据,因为数据不会到达其他节点,因此不存在副本。好像数据不在那里。问题是这个窗口实际上非常小,因为使用rf3,其他节点将在毫秒内接收插入(除非节点上有一些非常重的负载)

所有RF请求(每个客户端请求)都由协调器处理。此外,如果协调器需要复制时节点可能不在,那么它会将数据存储在提示中


总而言之,是的,数据丢失是可能的,但可能性非常小。

我认为以下链接可能对您有用:

是的,在这种情况下可能会丢失数据,因为数据不会到达其他节点,因此不存在副本。好像数据不在那里。问题是这个窗口实际上非常小,因为使用rf3,其他节点将在毫秒内接收插入(除非节点上有一些非常重的负载)

所有RF请求(每个客户端请求)都由协调器处理。此外,如果协调器需要复制时节点可能不在,那么它会将数据存储在提示中


总而言之,是的,数据丢失是可能的,但可能性非常小。

为了理解,我们提出了后续问题。如果数据节点和协调器节点不同,并且在刷新提交日志之前确认为CF=1的数据节点停机/崩溃,则有可能将数据复制到其余两个数据节点,因为协调器节点已发送复制请求。对吗?谢谢你,马克@克里斯-两个答案都是正确的。我选择这个主要是因为更多的信息。后续问题只是为了理解。如果数据节点和协调器节点不同,并且在刷新提交日志之前确认为CF=1的数据节点停机/崩溃,则有可能将数据复制到其余两个数据节点,因为协调器节点已发送复制请求。对吗?谢谢你,马克@克里斯-两个答案都是正确的。我选择这个主要是因为更多的信息。