Aerospike数据恢复其他群集或本地HDD

时间:2015-07-15 02:50:51

标签: aerospike

我使用群集 配置存储引擎设备 当我重新启动一个节点时,数据将在其他群集或本地HDD中恢复? 当我重新启动整个集群时,要从哪个数据恢复? 我想知道整个过程是怎样的

版本:社区版

我有3个节点;

 storage-engine device {         
   file /opt/aerospike/datafile
   filesize 1G           
   data-in-memory true
  }

这是配置  我停止node1 --->集群有2个节点 - > i修改数据(如果在node1之前的数据)

我停止node2和node3,在群集全部停止后,我启动node1 - > node2 - > node3

这会有脏数据吗?

我可以认为node3拥有所有数据吗?

1 个答案:

答案 0 :(得分:1)

让我试着从你的问题中得到答案。如果我的理解是错误的,请纠正我。

您在aerospike中拥有一个文件支持的命名空间。数据将持久保存到文件中。数据也保存在内存中(因为“内存数据为真”设置)。默认复制因子为2.因此,您的数据将驻留在处于稳定状态的2个节点上。

当您逐个关闭3个节点时,未更改的数据将存在于持久性文件中。因此,当重新启动节点时,它们的数据将从持久文件返回。

关机期间更改的数据(node1已关闭但node2& node3已启动)是一个棘手的问题。当node1完成后,其数据的副本将在node2&中的一个中。 node3(因为复制因子= 2)。因此,当您更新记录时,我们会执行一个称为重复解析的操作,它将获取最新记录并在新主节点上更新它。它将保留在该节点上。