【问题标题】:Issue with dsbulk unloaddsbulk 卸载问题
【发布时间】:2020-07-28 01:57:38
【问题描述】:

我在使用 dsbulk 卸载时收到以下消息。我无法弄清楚这是什么意思

[s0|347101951|0] 发送取消请求时出错。这并不重要(请求最终会在服务器端超时)。 (心跳异常:null)

未发送心跳,因为前一个仍在进行中。检查是否 advanced.heartbeat.interval 不低于 advanced.heartbeat.timeout。

谢谢

【问题讨论】:

    标签: cassandra runtime-error datastax bulk dsbulk


    【解决方案1】:

    “发送取消请求时出错”是典型的连续分页查询。协调器似乎出于某种原因遇到了麻烦,这就是为什么您也会看到心跳失败的原因。 Dsbulk 可能会给集群带来过多的负载。

    您没有具体提到哪个版本的 dsbulk,但假设 1.4+ 我建议尝试以下操作(单独或组合):

    1. 使用dsbulk.executor.continuousPaging.enabled = false 禁用连续分页(这可能会减慢 dsbulk)。

    2. 使用较小的页面尺寸,例如1000 行:

      1. 如果不使用连续分页:datastax-java-driver.basic.request.page-size = 1000
      2. 如果使用连续分页:datastax-java-driver.advanced.continuous-paging.page-size = 1000
    3. 限制 dsbulk 以减少集群上的负载

      1. 通过限制并发请求的数量来“软”节流,例如128:
        1. DSBulk dsbulk.executor.maxInFlight = 128。
        2. DSBulk >= 1.6:dsbulk.engine.maxConcurrentQueries = 128
      2. 或通过限制每秒请求数来“硬”节流,例如500:dsbulk.executor.maxPerSecond = 500

    【讨论】:

    • 谢谢,我正在使用 DataStax Bulk Loader v1.5.0。我将尝试这些选项并分享我的发现
    • 我仍然遇到这个问题。两行未能卸载未发送心跳,因为前一个仍在进行中。检查advanced.heartbeat.interval 是否不低于advanced.heartbeat.timeout。总计|失败 |行/秒 | p50ms | p99ms | p999ms 2,301,986 | 2 | 6,133 | 1,183.36 | 10,133.44 | 30,467.42
    • 集群是否健康? Cassandra 日志说明了什么? nodetool ring的输出是什么?
    猜你喜欢
    • 2021-02-09
    • 1970-01-01
    • 2021-02-03
    • 2022-06-20
    • 2015-10-17
    • 1970-01-01
    • 2019-02-24
    • 2022-11-29
    • 2018-11-04
    相关资源
    最近更新 更多