- 1 个集群,3 个节点,位于 2 个物理位置,分组在 2 个机架中
- 射频 2
- 属性文件告密者
- 法定人数
问题是:
第一个节点(在 RAC1 中)的复制从 RAC2 指向第三个节点,如果该节点关闭,则不会更改,读取和写入失败。
如果我重新启动第三个节点并关闭第二个节点,则读写工作正常。
第二个和第三个节点都复制到第一个节点,如果第一个节点宕机,读写也会失败。
问题是:
是否可以让它自动检测死节点并将复制点复制到活动检测节点?
- 如果第一个节点宕机,第二个和第三个节点在彼此之间复制数据
- 如果第二个或第三个节点关闭,第一个节点应该检测到什么是活动的并复制到它
更新1:
做了一些测试:
- 关闭第一个节点 - 从第二个和第三个节点读取失败 (
Unable to complete request: one or more nodes were unavailable.
) - 关闭第二个节点 - 从第一个和第三个节点读取有效
- 关闭第三个节点 - 从第一个和第二个节点读取失败
很奇怪 ...
更新2:
我想我找到了答案。现在情况如何:3 个节点,RF 2,写入和读取具有 CL 2。如果一个副本关闭,则读取和写入失败(我测试选择不同的密钥,一些在一个节点关闭时成功,而在另一个节点关闭时失败)
现在我正在考虑这样做:将所有节点移动到一个机架,将 RF 更改为 3,对于读取和写入,我将使用 CL 2(写入成功需要两次复制,第三次将在后台进行)。所以现在会有 3 个副本,如果一个失败,CL 2 无论如何都会成功。
我对吗?
如果有 2 个节点处于活动状态,复制因子为 3,当前写入操作的一致性级别为 2,写入会成功吗?
更新3:
是的,我认为我走对了。同样的问题在这里