我想了解如何为我的两个节点集群设置参数,以便在其中一个停机时拥有完全相同的副本...
使用此工具进行检查:http://www.ecyrd.com/cassandracalculator/
对于以下参数:
即使我试图保持读取一致,而不是写入:
Cluster size: 2 / Replication Factor: 2 / Write Level: All / Read Level: One
这是结果:
- 您的读取是一致的
- 您可以承受没有节点的损失
- 每次读取只涉及一个节点
- 每次写入涉及两个节点
- 每个节点都完全保存了您的数据
我同意所有这些结果,除了一个,"您可以承受没有节点的损失"。 如果一个节点死了,“写入:ALL”会写入到剩下的唯一节点,不是吗? 然后当我重新启动第二个节点时,它应该与第一个节点同步,并再次接受写入,不是吗?
如果我错了,有人能解释一下为什么吗?
编辑:
更多配置将给我相同的结果,除了持有%:
Cluster size: 3 / Replication Factor: 2 / Write Level: All / Read Level: One
Cluster size: 3 / Replication Factor: 2 / Write Level: Quorum / Read Level: One
即使我试图保持读取一致,而不是写入:
Cluster size: 2 / Replication Factor: 2 / Write Level: One / Read Level: Quorum
每次它都告诉我不能在任何节点上承受损失。