dsbulk 卸载问题

Issue with dsbulk unload

我在使用 dsbulk 卸载时收到以下消息。我不明白这是什么意思

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

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

谢谢

“发送取消请求时出错”是典型的连续分页查询。似乎协调器由于某种原因遇到了麻烦,这就是为什么您也看到心跳失败的原因。 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 < 1.6: dsbulk.executor.maxInFlight = 128.
      2. DSBulk >= 1.6: dsbulk.engine.maxConcurrentQueries = 128.
    2. 或者通过限制每秒请求的数量来“硬”节流,例如500: dsbulk.executor.maxPerSecond = 500.