【问题标题】:Digest request in CassandraCassandra 中的摘要请求
【发布时间】:2018-06-12 19:49:55
【问题描述】:

我对摘要请求有几个问题,我通读了文档,但以下信息不切题,

1) 假设我有 10 个节点集群,RF = 3 和 RC = 2,

为了便于理解,让副本为节点 1、节点 2 和节点 3,协调器为节点 4。

对于读取请求,根据我的理解,第一个协调器(节点 4)将直接请求发送到具有较低延迟(动态告密者)的节点之一,即节点 1 并获取数据,然后在收到数据后发送对下一个延迟节点之一的摘要请求说节点 2 并仅获取哈希并与从直接请求计算的哈希进行比较。

问题 1:摘要请求在收到直接请求后是否与直接请求(或)并行发送(到节点 2)它发送摘要请求?

问题 2: 我知道节点 3 的摘要请求也会发送以保证数据一致性,但是协调器(节点 4)何时将摘要请求发送到第三个副本(节点 3) ?是在协调员回复客户之后吗?

问题 3: 另外文档中提到只有在完成读取修复后协调器才会回复客户端?

问题4:除了Tracing on,谁能解释一下实时识别读写请求流的方法?

如果你们能用工作流程解释这些问题,那就太好了,这对每个人都有用。

我也阅读了视频以供参考:https://www.youtube.com/watch?v=HuDJBTPdaOA&list=PLm-EPIkBI3YorKfmT9LXpBhyeZMYAM1M7

【问题讨论】:

    标签: cassandra cassandra-3.0


    【解决方案1】:

    我假设你的情况。这里 N4 是协调节点。您向 N2(它是一个副本)发送了直接请求。在收到 N2 的响应后,协调节点(N4)将向包含其他副本的任何节点(N3 或 N1)发送摘要请求。假设 N3 更接近节点。因此,摘要请求将被发送到 N3 以满足一致性级别。收到 N3 的响应后,N4 会比较 N2 和 N3 的数据,并将更新后的数据返回给客户端。

    N1 节点中还有另一个副本。现在协调器节点向所有其他副本发送摘要请求。(在本例中为 N1)。如果 N4 找到,任何节点(N1,N2,N3)都没有更新,它会运行读取修复请求。

    ps:我不知道答案 4。

    https://docs.datastax.com/en/cassandra/2.1/cassandra/dml/architectureClientRequestsRead_c.html

    https://teddyma.gitbooks.io/learncassandra/content/client/read_requests.html

    【讨论】:

    • 我对你的回答很满意,所以解释一下,一切都是顺序的,1)直接请求,然后在收到响应后,2)然后只有协调器发送摘要请求并接收哈希,3)考虑相同响应客户端的哈希值 4) 响应客户端后,将请求发送到剩余的副本,并根据该请求更新读修复。对吗?
    • 让我等其他能回答问题4的人,如果他们不能回答,我会接受你的回答
    • 另外一点,读取修复不会在每次读取请求后触发,而是可自行调整。详情请见docs.datastax.com/en/cassandra/2.1/cassandra/operations/…
    • Q4:您可以将日志级别设置为一般跟踪,而不是在所有节点上记录 cassandra 日志,但这并不好玩。
    • @Mandraenke 我在这篇博客中没有理解这一点:'这意味着对于 ONE 的一致性级别,没有数据被修复,因为没有进行比较。对于 QUORUM,只修复查询触及的节点,而不是所有节点。'
    【解决方案2】:

    第4题,开启cass_log_set_level,设置日志级别为调试信息,即可获取实时调试信息。

    【讨论】:

    • 如何设置这个 cass_log_set_level ?我无法在 cassandra conf 文件夹中的任何文件中找到 @Chakri
    • 您必须在 datastax 驱动程序中设置它,然后通过程序进行查询。也许,你可以从日志文件中获取日志信息,如果你想要不编程的日志信息
    • 我正在使用 apache cassandra
    • 你必须使用c之类的驱动程序,或者python(由datastax提供)通过程序访问cassandra
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-09
    • 2018-04-20
    • 2016-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多