我对卡桑德拉很新,我不确定我是否正确地理解了一切,所以我希望有人能帮助我。Cassandra:集群如何处理死亡节点?
这是我的系统:NetworkTopologyStrategy(在相同的所有节点:
- 卡桑德拉0.8
- 有3个节点
- 复制策略的复制因子一个密钥空间集群DC)
- 使用twitter cassandra gem连接到群集的导轨金属应用程序[1]
- 读一致性:ONE
- 写consitency:任何
当一个节点出现故障,我很安静确信这一点:
- 我应该能够如果我使用读取一致性级别ONE,则从密钥空间读取记录。
- 我应该能够写入与任何
这个写一致性级别的密钥空间是什么,我不明白:
- 以上succeede的行动,但前提是我手动删除死节点的令牌
- 我的集群不应该像预期的那样死活节点吗?这不是cassandra的全部内容:高可用性?
我在gem的代码中挖了一遍,它看起来好像cassandra集群告诉gem它可以在dead节点上找到一条记录(实际上是down)。所以gem失败并且出现异常,无法连接到死节点。
所以我不知道如果我完全误解了一些东西,我的cassandra设置是错误的,或者如果cassandra红宝石宝石是问题(我不认为)。
THX,西蒙
[1] https://github.com/twitter/cassandra