Logstash7.15.2安装logstash-input-mongodb插件版本冲突报错如何解决?
报错原因分析
从报错日志可以看出两个核心冲突点:
- 依赖版本冲突:已经安装的
logstash-input-sqlite 3.0.4依赖jdbc-sqlite3 3.28.0,而官方logstash-input-mongodb 0.4.1仅支持jdbc-sqlite3 3.8.10.1,二者版本要求不兼容 - 插件本身不支持高版本Logstash:官方
logstash-input-mongodb早已停止维护,最高仅适配Logstash 2.0以下版本,你使用的7.15.2版本不在其支持范围内,根本无法安装
解决方案
可根据使用场景选择以下任一方案:
方案一:使用社区维护的兼容版MongoDB输入插件
该方案改动最小,适配7.x版本Logstash:
- 先卸载存在冲突的sqlite输入插件:
logstash-plugin remove logstash-input-sqlite
- 安装社区维护的
logstash-input-mongodb-alt插件,该插件无jdbc-sqlite3依赖,适配Logstash 6.x及以上版本:
logstash-plugin install logstash-input-mongodb-alt
- 若后续需要使用sqlite输入能力,可改用Logstash官方的
jdbc输入插件对接sqlite,不会产生依赖冲突。
方案二:直接使用JDBC输入插件对接MongoDB
无需安装额外的MongoDB专属输入插件:
- 下载对应版本的MongoDB JDBC驱动包到本地
- 配置Logstash原生
jdbc输入插件,加载上述驱动,通过JDBC协议直接读取MongoDB数据,该方案适配所有7.x版本Logstash,无插件兼容问题。
方案三:降级Logstash版本(不推荐)
如果必须使用官方原生的logstash-input-mongodb插件,需要将Logstash版本降至2.0以下,该方案会损失大量高版本功能,仅作为极端场景备选。
内容的提问来源于stack exchange,提问作者slj
相关产品推荐
相关产品推荐

