【发布时间】:2011-10-18 04:53:33
【问题描述】:
我是最近失败的 Cassandra 用户。我完成了基础知识,设置了我的模式并将 Java 应用程序插入数据库。将示例应用程序放在一起没有遇到任何重大问题。现在我开始弄乱向下的节点,我被困在列族的内容列表上。
我有 5 个节点,127.0.0.1、127.0.0.2、127.0.0.3、127.0.0.4、127.0.0.5 和 datastax.com 模式“演示”,除了我使用了 3 而不是 1 (我保留了 SimpleStrategy)。我在“用户”列族中有 3 行(键“jsmith”、“yomama”和“bobbyjo”)。
现在我取下一个节点,2、3 或 5(我还没有触摸 1,因为它是我唯一的种子),我连接到 4,处理以下 CQL 查询:
select Key, full_name, email, state, gender, birth_year from users;
正如预期的那样,即使缺少 1 个节点,它也会给我 3 行。所以下一步是要求一致的结果。
select Key, full_name, email, state, gender, birth_year from users USING CONSISTENCY QUORUM ;
失败了。我想不通。复制因子为 3,我应该摆脱一个宕机的节点。现在只是为了好玩,我添加了一个通用条件如下
select Key, full_name, email, state, gender, birth_year from users USING CONSISTENCY QUORUM where KEY IN ('jsmith', 'bobbyjo', 'yomama') ;
现在我使用一致性仲裁得到我的 3 行,其中一个节点关闭。我无法使用带有宕机节点的仲裁浏览完整的列族是否正常,但如果我给 cassandra 提供密钥,我仍然可以列出所有行?
【问题讨论】:
标签: cassandra