Druid 将数据从历史节点内存刷新到深度存储

Druid 将数据从历史节点内存刷新到深度存储,druid,Druid,我最初设置了一个德鲁伊集群,它有两个历史节点,每个节点有30gb内存。2个中间管理器节点,一个运行协调器和霸王的节点,1个代理节点 在成功运行了3-4周后,我发现即使在窗口期之后,我的任务仍保持在运行状态。然后,我碰巧又添加了一个具有相同配置的历史节点,这使得我的任务再次正常工作。 这意味着所有摄入德鲁伊的数据都将进入内存,我将不得不继续添加历史节点 是否有一种方法可以将一些数据从内存刷新到深度存储,并且在针对该数据集启动查询时,应该将其加载到内存中? 我的每个历史节点都有30GB的RAM。配置

我最初设置了一个德鲁伊集群,它有两个历史节点,每个节点有30gb内存。2个中间管理器节点,一个运行协调器和霸王的节点,1个代理节点

在成功运行了3-4周后,我发现即使在窗口期之后,我的任务仍保持在运行状态。然后,我碰巧又添加了一个具有相同配置的历史节点,这使得我的任务再次正常工作。 这意味着所有摄入德鲁伊的数据都将进入内存,我将不得不继续添加历史节点

是否有一种方法可以将一些数据从内存刷新到深度存储,并且在针对该数据集启动查询时,应该将其加载到内存中? 我的每个历史节点都有30GB的RAM。配置:

druid.processing.buffer.sizeBytes=1073741824

locations=[{“path”:“var/druid/segmentCache”,“maxSize”:3222254720}]

德鲁伊端口=7080

服务=德鲁伊/历史

druid.server.maxSize=10000000000

druid.server.http.numThreads=50

druid.processing.numThreads=5 druid.query.groupBy.maxResults=10000000


druid.query.groupBy.maxOnDiskStorage=10737418240

正如问题中提到的,我的问题是每隔几天就要启动一个新节点,不知道为什么。根本原因是每个历史节点上的磁盘空间。 本质上,即使德鲁伊将数据推送到深层存储,它也会将所有数据本地保存在历史节点上。 因此,您只能在所有历史节点中存储与'druid.server.maxSize'配置之和相等的数据。
如果您不希望水平扩展,可以增加历史节点的磁盘,增加此配置的值并重新启动历史节点。

这取决于历史节点的druid配置,请在您的问题中添加配置,我可能会提供帮助。谢谢@mdeora。我已经在问题中添加了历史节点的配置。请也添加您的数据大小。我不太确定如何计算,但在段缓存目录中,我可以在4个历史节点上使用49G的磁盘空间。我现在每周添加一个节点。我不认为这是内存或磁盘空间问题,什么是“druid.worker.capacity”集合?每个历史记录分配了多少cpu核?