You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

深层存储不可达时Druid运行行为及数据查询能力咨询

Druid 0.19.0 HDFS深层存储不可访问时的运行表现及服务能力说明

核心运行表现

当HDFS深层存储节点无法访问时,Druid各组件会出现以下明确表现:

  • Coordinator节点:无法完成Segments的发布、下线、副本分配等元数据操作,日志中会持续抛出IOException类HDFS连接异常,已完成发布的Segments元数据不会丢失,但新生成的Segments无法持久化到深层存储
  • Historical节点:已经加载到本地磁盘缓存的Segments不受影响,无法加载还未缓存的冷Segments,请求未缓存Segments时会返回查询失败
  • MiddleManager/Indexer节点:实时摄入任务生成的待持久化Segments无法写入HDFS,会不断触发重试逻辑,超过任务配置的持久化超时阈值后,实时摄入任务会失败终止
  • Broker节点:本身无直接报错,会按照元数据路由查询请求,查询命中已缓存Segments时正常返回,命中未缓存Segments时返回对应错误

对外服务能力判断

并非完全不可对外提供服务,可正常响应两类查询:

  • 所有已经被Historical节点加载到本地磁盘缓存的历史Segments的查询请求
  • Kafka实时摄入链路中,还在Peon任务内存、或还未触发持久化的实时数据的查询请求

不可响应的查询只有一类:需要访问还未加载到Historical本地缓存的冷历史Segments的请求。结合每5分钟执行一次定时查询的场景,若定时查询只覆盖热数据范围,大概率不会触发报错。

可服务时长

可服务时长完全取决于两个核心因素,没有固定值:

  • 已经加载到Historical本地的热数据的缓存保留时长:默认配置下,Historical不会主动删除已经加载的Segments,只要本地磁盘空间足够,这部分数据可以一直提供查询
  • 实时摄入任务的最大重试超时时间:Druid 0.19.0版本默认的实时摄入持久化重试超时为1小时,若做过自定义配置则以实际配置为准,超过这个阈值后实时摄入任务失败,新的Kafka数据无法继续摄入,也就无法查询最新数据

最新摄入数据查询能力

在实时摄入任务还未因持久化失败终止前,完全可以查询最新摄入的数据:

  • Kafka实时摄入的链路中,数据进入Peon任务的内存缓冲区后,就可以被查询到,这部分数据不需要提前写入深层存储就可以对外提供查询
  • 只有当Peon任务触发Segments持久化、多次尝试写入HDFS失败超过阈值后,任务退出,后续新流入Kafka的数据才无法被摄入查询

提示:如果深层存储故障恢复后,需要手动重启失败的实时摄入任务,避免数据断层;同时Coordinator会自动补推所有故障期间未持久化成功的Segments到HDFS,不需要额外手动操作。

内容的提问来源于stack exchange,提问作者Khalil Kooli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 11:24:01