在Druid中添加自定义OTLP输入格式后未显示,如何解决?
Druid自定义输入格式扩展不显示的排查步骤
检查扩展包的放置与结构
确认mvn package生成的jar包(及依赖包)是否放在Druid扩展目录的对应子文件夹下,比如extensions/otlp/,而非直接放在extensions根目录。同时确保文件夹名称和druid.extensions.loadList中配置的扩展名完全一致。确认配置与服务重启
修改common.runtime.properties后必须重启所有Druid服务(Coordinator、Overlord、Broker、MiddleManager等)。重启后查看服务日志,搜索otlp或extensions关键字,确认是否有Loaded extension: otlp的日志,若存在报错(如依赖缺失、类找不到),根据日志修复问题。校验InputFormat的注册逻辑
- 确保你的
InputFormat实现类添加了@JsonTypeName("otlp")注解,Druid依赖该注解识别格式类型。 - 检查扩展的SPI注册:在
resources/META-INF/services/org.apache.druid.data.input.InputFormat文件中,写入你的InputFormat实现类的全限定类名;同时确认module.properties中正确声明了服务,比如druid.service=org.apache.druid.data.input.InputFormat指向你的实现类。
- 确保你的
验证数据源与格式的适配性
确认控制台选择的数据源类型(如本地文件、云存储等)支持自定义InputFormat,且你的InputEntityReader实现了对应数据源的读取逻辑。也可以尝试通过API提交Ingestion任务,指定inputFormat.type=otlp,若任务能正常运行但控制台不显示,再排查前端配置问题(此情况极少)。检查版本兼容性
确保扩展编译时使用的Druid核心依赖版本与当前运行的Druid版本完全一致,版本不匹配会导致类加载失败,扩展无法正常注册。
内容的提问来源于stack exchange,提问作者mohitmayank
相关产品推荐
相关产品推荐

