【问题标题】:How to set consistency level of column family using either cassandra-cli OR Hector如何使用 cassandra-cli 或 Hector 设置列族的一致性级别
【发布时间】:2013-03-22 13:42:31
【问题描述】:

我似乎找不到办法做到这一点。文档中没有任何内容(CQL 示例或节俭示例除外)。有没有人这样做过?我想设置读写的一致性。或者即使你能告诉我如何通过每个单独的读/写的一致性级别,那也很棒。

有一种方法可以在创建键空间时设置一致性级别。但是,如果键空间已经存在并且您想为其更新一致性级别,该怎么办。如果做不到,那为什么会这样呢,正常情况下应该是可以用的。

【问题讨论】:

    标签: cassandra hector


    【解决方案1】:

    Zanson 是正确的 - 一致性级别是在逐个查询的基础上确定的。因此,您执行的每个读取和写入查询都将指定其自己的一致性级别。我相信默认情况下这设置为 QUORUM。 QUORUM 是根据 Keyspace 的复制因子计算得出的。

    -> 复制因子是在键空间级别定义的。

    -> 读/写一致性级别在查询时定义。

    【讨论】:

    • 好的。这说明了这一点。谢谢。
    • Cassandra CLI 对所有写入和读取操作使用默认一致性级别 ONE。
    • 对了。我一直在 cassandra 之上使用 FluentCassandra c# 客户端,这必须是默认的 QUORUM。
    【解决方案2】:

    这里描述的这个问题https://issues.apache.org/jira/browse/CASSANDRA-4734 他们删除了可用于设置每个请求的一致性级别 (CL)(即在 CQL 中)。 并决定将其设置为 Column Famaly (CF) 级别。

    不幸的是:(

    但是如果使用 php pro_cassandra - 你可以这样做:https://github.com/Orange-OpenSource/YACassandraPDO/issues/13

    【讨论】:

      【解决方案3】:

      您想要更新复制因子。一致性级别是指单个查询。要从 cassandra-cli 更新复制因子,您需要使用“更新键空间”命令并更改策略选项。

      UPDATE KEYSPACE demo WITH strategy_options = {replication_factor:1}
      

      【讨论】:

      • 没有没有。我只希望列族具有所需的读写一致性级别。不更新键空间的复制因子。
      • 这个语法完全错误,应该是ALTER KEYSPACE demo WITH REPLICATION = {'class': 'SimpleStrategy', 'replication_factor': 1};。请参阅下面的答案。
      • 这个语法在 cassandra-cli 工具中是正确的,在这个答案的时候是如何与 cassandra 交互的。
      【解决方案4】:

      您正在混淆一致性级别(指单个查询)和复制因子(在创建键空间时设置)。

      要更改现有键空间的复制因子,请使用“alter keyspace”命令:

      ALTER KEYSPACE demo WITH REPLICATION = {'class': 'SimpleStrategy', 'replication_factor': 1};
      

      来源:

      【讨论】:

        猜你喜欢
        • 2013-03-19
        • 1970-01-01
        • 1970-01-01
        • 2017-05-06
        • 1970-01-01
        • 2011-11-03
        • 2013-11-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多