为了更快的定位您的问题,请提供以下信息,谢谢
【详述】问题详细描述
开启 StarRocks 的 remote spill 功能后,节点本地磁盘仍频繁出现写满的情况。
经分析,核心原因有两点:
1)磁盘空间状态判断存在滞后性,当前机制仅做实时空间检测,未考虑多任务并发写入场景 —— 检测时磁盘未达到满额状态,但多个任务同时写入后,短时间内磁盘空间会被耗尽;
2)缺少全局磁盘池管理能力,无统一的磁盘空间分配与剩余容量统计机制,无法精准计算各任务可占用的磁盘资源,仅靠估算易导致超量写入。
此外,暂未在 StarRocks 现有配置项中找到 “基于磁盘使用率阈值触发 remote spill” 的相关参数(如设置磁盘使用率 70%/80% 时自动切换为 remote spill 写入)。
【背景】做过哪些操作?
- 开启了 StarRocks 的 remote spill 功能,期望缓解本地磁盘占用压力;
- 集群正常运行,执行日常的etl任务(多为存在任务并发调度);
- 发现磁盘写满问题后,排查了 remote spill 相关配置,未找到磁盘使用率阈值类配置项;
【业务影响】
- 节点本地磁盘写满后,导致 BE 节点磁盘 IO 异常,部分查询任务执行失败,返回磁盘空间不足相关报错;
- 严重时会引发 BE 节点服务不稳定,甚至影响整个集群的查询响应效率,电商业务的数据分析任务无法按时完成,影响运营决策效率;
- 需人工介入清理磁盘空间、重启 BE 节点,增加运维成本。
【是否存算分离】
【StarRocks版本】例如:3.3.20
【集群规模】例如:3fe(1 follower+2observer)+3be(fe与be混部)
【机器信息】CPU虚拟核/内存/网卡,例如:48C/64G/万兆
【联系方式】为了在解决问题过程中能及时联系到您获取一些日志信息,请补充下您的联系方式,例如:社区群16-可乐鸡或者邮箱,谢谢
【附件】
- fe.log/beINFO/相应截图
- 慢查询:
- Profile信息,获取Profile,通过Profile分析查询瓶颈
- 并行度:show variables like ‘%parallel_fragment_exec_instance_num%’;
- pipeline是否开启:show variables like ‘%pipeline%’;
- be节点cpu和内存使用率截图
- 查询报错:
- query_dump,怎么获取query_dump文件
- be crash
- be.out
- coredump,如何获取coredump
- 外表查询报错
- be.out和fe.warn.log