【发布时间】: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:inopen_jdbc_connection' 2052execute_statement' 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
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.13/lib/logstash/inputs/jdbc.rb:277:inexecute_query' 2052block in run' 2052
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.13/lib/logstash/inputs/jdbc.rb:258:in
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/rufus-scheduler-3.0.9/lib/rufus/scheduler/jobs.rb:234:indo_call' 2052do_trigger' 2052
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/rufus-scheduler-3.0.9/lib/rufus/scheduler/jobs.rb:258:in
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/rufus-scheduler-3.0.9/lib/rufus/scheduler/jobs.rb:300:inblock in start_work_thread' 2052block 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
org/jruby/RubyKernel.java:1425:inloop' 2052block in start_work_thread'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/rufus-scheduler-3.0.9/lib/rufus/scheduler/jobs.rb:289:in
** 在定义 jdbc_driver_class 时,我曾尝试在 Java 中使用大写 J 遵循类似的问题。不幸的是,它没有帮助。
【问题讨论】:
标签: docker elasticsearch jdbc containers logstash