1

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

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

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

谢谢

4

1 回答 1

4

“发送取消请求时出错”是典型的连续分页查询。协调器似乎出于某种原因遇到了麻烦,这就是为什么您也会看到心跳失败的原因。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
于 2020-04-15T07:31:11.570 回答