dremio maestro 服务简单介绍
maestro 英文翻译是大师,dremio 中的 maestro 主要进行服务的执行(提供一个执行抽象,实际具体执行是由command pool 操作的
dremio 也还包含了一个独立的maestro 的rpc 定义(基于fabric 进行通信,主要包含了rpc 类型以及client方便kernel 集成使用,同时
在kernel 的service包中包含了一个maestro的实现
服务接口定义
包含了不少操作,比如取消查询,执行查询,获取活跃的查询id,获取分组资源信息,获取查询的总数
对于默认实现的查询部分依赖了dremio 的command pool (后边会介绍)
maestro 查询部分使用了ControlsInjector (dremio 的异常注入控制)以及QueryTracker (dremio 查询追踪的)
服务包含的其他能力
- MaestroForwarder
核心是将请求转发到maestro服务(从目前目前来说实际上是到协调节点)
参考类图
使用到此服务的模块
AttemptManager、ForemenWorkManager、Foreman 、ActiveQueryListService 从内部机制上来说这个是比较重要的,很多执行处理都是需要依赖这个的
说明
对于以上代码可以结合drill 的查询流程学习,可以加速低于机制的了解
参考资料
sabot/kernel/src/main/java/com/dremio/exec/maestro
services/maestro/client/src/main/java/com/dremio/service/maestroservice
https://drill.apache.org/docs/drill-query-execution/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2020-03-11 postgresql_anonymizer 方便的数据脱敏扩展
2018-03-11 使用neon 开发nodejs addon
2017-03-11 Spring Cloud feign 服务超时处理