【问题标题】:jdbc.Driver not loaded while using LogStash in Docker在 Docker 中使用 LogStash 时未加载 jdbc.Driver
【发布时间】:2020-04-02 15:22:23
【问题描述】:

我正在尝试将 ElasticSearch 用作 docker 容器并在不同的容器中使用 Log Stash。 我正在尝试使用我在 youtube 视频中看到的技巧将 jdbc jar 文件添加到我的 docker 容器中。 logstash 目录包含 conf 文件和 jdbc Jar 文件。

(名为elasticsearch的ES容器)

我正在使用的命令 -

docker run -h logstash --name logstash --link elasticsearch:elasticsearch -it --rm -v "$PWD":/config-dir logstash:7.3.2 -f /config-dir/logstash.conf

在我的 conf 文件中,我尝试将“jdbc_driver_library”更改为

"/config-dir/connector.jar"

"./config-dir/connector.jar"

“连接器.jar”

""

但它们似乎都不起作用,我不断收到以下错误:

LogStash::ConfigurationError 2052
Java::net.sourceforge.jtds.jdbc.Driver 未加载。你确定你已经 在 :jdbc_driver_library 中包含正确的 jdbc 驱动程序? 2052
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.13/lib/logstash/plugin_mixins/jdbc/jdbc.rb:163:in open_jdbc_connection' 2052
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.13/lib/logstash/plugin_mixins/jdbc/jdbc.rb:221:in
execute_statement' 2052
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.13/lib/logstash/inputs/jdbc.rb:277:in execute_query' 2052
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.13/lib/logstash/inputs/jdbc.rb:258:in
block in run' 2052
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/rufus-scheduler-3.0.9/lib/rufus/scheduler/jobs.rb:234:in do_call' 2052
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/rufus-scheduler-3.0.9/lib/rufus/scheduler/jobs.rb:258:in
do_trigger' 2052
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/rufus-scheduler-3.0.9/lib/rufus/scheduler/jobs.rb:300:in block in start_work_thread' 2052
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/rufus-scheduler-3.0.9/lib/rufus/scheduler/jobs.rb:299:in
block in start_work_thread' 2052
org/jruby/RubyKernel.java:1425:in loop' 2052
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/rufus-scheduler-3.0.9/lib/rufus/scheduler/jobs.rb:289:in
block in start_work_thread'

** 在定义 jdbc_driver_class 时,我曾尝试在 Java 中使用大写 J 遵循类似的问题。不幸的是,它没有帮助。

【问题讨论】:

    标签: docker elasticsearch jdbc containers logstash


    【解决方案1】:

    我在使用 SQL Server 驱动程序时遇到了同样的问题:

    错误:com.microsoft.sqlserver.jdbc.SQLServerDriver 未加载。您确定在 :jdbc_driver_library 中包含了正确的 jdbc 驱动程序吗?

    解决方法是将jar文件复制到logstash-core/lib/jars文件夹。

    现在您可以删除库的路径:

    jdbc_driver_library = ""

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多