我使用集群配置存储引擎设备,当我重启一个节点时,数据会恢复到其他集群还是本地硬盘?当我重新启动整个集群时,从哪个恢复数据?我想知道整个过程
版本:社区版
我有3个节点;
storage-engine device {
file /opt/aerospike/datafile
filesize 1G
data-in-memory true
}这是配置I停止节点1->集群有2个节点-->我修改数据(如果数据之前在node1中)
我停止node2和node3,在集群全部停止后,我启动node1 -->node2 -->node3
这会不会有脏数据?
我可以认为node3拥有所有的数据?
发布于 2015-07-28 17:01:12
让我试着从你的问题中得到答案。如果我的理解是错误的,请纠正我。
你在aerospike中有一个文件支持的命名空间。数据将持久化到文件中。数据也会保存在内存中(因为“data - in - memory true”设置)。默认复制因子为2。因此,您的数据将以稳定状态驻留在2个节点上。
当您逐个关闭3个节点时,未更改的数据将保存在持久文件中。因此,当节点重新启动时,它们的数据将从持久文件中返回。
在关机期间更改的数据(node1关闭,但node2和node3启动)是一个棘手的问题。node1完成后,其数据的副本将位于node2和node3之一(由于复制factor=2)。因此,当您更新一条记录时,我们将执行一项称为重复解析的操作,它将获取最新的记录并在新的主节点上更新它。它将在该节点上持久化。
https://stackoverflow.com/questions/31420678
复制相似问题