【问题标题】:List a complete column family using consistency quorum使用一致性仲裁列出完整的列族
【发布时间】: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


    【解决方案1】:

    几个问题:

    1. 您是从 5 个节点和 3 个 RF 开始,还是将集群增加到 5 个?

    2. 您是否尝试过在发出有效的语句后发出最初失败的选择语句? (如果它有效,您刚刚看到了读取修复 - 根据您对上面 #1 的回答,您可能没有发出“nodetool repair”)。

    3. 什么版本的 Apache Cassandra,顺便说一句?

    【讨论】:

    • 1.创建了 5 个新节点,创建了示例,然后关闭了一个节点。 2.是的,以不同的顺序尝试了很多次。 3. 1.0 RC2。 1.0.0 上周还没发布,昨天就发布了。
    • 如果 1.0.1 仍然发生这种情况(1.0.2 正在投票中,并在接下来的 24 小时内到期),请使用上述详细信息打开 Jira 问题。 issues.apache.org/jira/browse/CASSANDRA
    • 好的,我会尽快在真正的版本上重新测试它,如果它仍然被阻塞,我会通过适当的渠道将它作为问题提交。我最初将它放在堆栈溢出上,因为我不确定它是否真的是一种错误或只是我没有正确理解的功能。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-22
    • 2013-03-22
    • 1970-01-01
    • 2017-10-29
    • 1970-01-01
    • 2017-07-27
    相关资源
    最近更新 更多