【问题标题】:Resource limit exceeded in druid groupBy Querydruid groupBy Query中超出资源限制
【发布时间】:2018-07-12 19:15:54
【问题描述】:

我正在尝试运行 groupBy Query 超过 500k 数据的限制。我收到此错误。

{
    "error": "Resource limit exceeded",
    "errorMessage": "Not enough dictionary space to execute this query. Try increasing druid.query.groupBy.maxMergingDictionarySize or enable disk spilling by setting druid.query.groupBy.maxOnDiskStorage to a positive number.",
    "errorClass": "io.druid.query.ResourceLimitExceededException",
    "host": "ubuntu:8083"
}  

我如何使用超过 500k 数据限制的 groupBy 查询?我正在使用 druid 0.11.0 版本和 groupBy v2 引擎。我有 100 万行数据正在对其运行查询。

我尝试增加druid.query.groupBy.maxMergingDictionarySizedruid.query.groupBy.maxOnDiskStorage 但这并不能解决我的问题。

编辑

当我尝试增加druid.processing.buffer.sizeBytes 时,这个错误发生在 linux 终端中。

5 errors
        at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1028) ~[guice-4.1.0.jar:?]
        at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1050) ~[guice-4.1.0.jar:?]
        at io.druid.guice.LifecycleModule$2.start(LifecycleModule.java:154) ~[druid-api-0.11.0.jar:0.11.0]
        at io.druid.cli.GuiceRunnable.initLifecycle(GuiceRunnable.java:101) [druid-services-0.11.0.jar:0.11.0]
        at io.druid.cli.ServerRunnable.run(ServerRunnable.java:50) [druid-services-0.11.0.jar:0.11.0]
        at io.druid.cli.Main.main(Main.java:108) [druid-services-0.11.0.jar:0.11.0]

【问题讨论】:

  • druid的日志文件肯定有更多错误

标签: druid


【解决方案1】:

为此,您需要增加所有历史和实时节点以及代理节点的缓冲区大小。

druid.processing.buffer.sizeBytes

同时增加druid.query.groupBy.maxMergingDictionarySizedruid.query.groupBy.maxOnDiskStorage

并仔细检查您的机器是否没有用完磁盘。

【讨论】:

  • 当我增加 maxOnDiskStorage 并且当我在邮递员上运行查询时它崩溃了。
  • 你的德鲁伊版本是什么?
  • 我使用的版本是 0.11.0
  • 你能看到德鲁伊的日志,增加上述尺寸后看看那里有什么。
  • 我必须在哪里更改 conf-quickstart 或 conf 中的配置?我仍然对此感到困惑
猜你喜欢
  • 2018-08-27
  • 1970-01-01
  • 2016-08-03
  • 1970-01-01
  • 2023-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多