Logstash MySQL JDBC LoadError:没有要加载的文件 - <file-path>

时间:2017-04-01 17:37:21

标签: docker rubygems docker-compose logstash-configuration logstash-jdbc

我想从this repository构建Docker-ELK。

这是我的logstash.conf文件

input {
  jdbc {
    jdbc_driver_library => "/home/edsoft/IdeaProjects/docker-elk/resources/mysql-connector-java-5.1.36-bin.jar"
        jdbc_driver_class => "com.mysql.jdbc.Driver"
        jdbc_connection_string => "jdbc:mysql://localhost:3306/yazilimokulu"
        jdbc_user => "root"
        jdbc_password => "1"
        schedule => "* * * * *"
        statement => "select * from posts"
    }
    tcp {
        port => 5000
    }
}

## Add your filters / logstash plugins configuration here

output {
    elasticsearch {
        hosts => ["elasticsearch:9200"]
        index => "posts"
        document_type => "post"
        document_id => "%{id}" ## must be lower case
    }
}

我使用docker-compose运行docker。 Kibana和ElasticSearch成功启动但Logstash抛出错误

LoadError: no such file to load -- /home/edsoft/IdeaProjects/docker-elk/resources/mysql-connector-java-5.1.36-bin
logstash_1       |                   require at org/jruby/RubyKernel.java:1040
logstash_1       |                   require at /usr/share/logstash/vendor/bundle/jruby/1.9/gems/polyglot-0.3.5/lib/polyglot.rb:65
logstash_1       |              load_drivers at /usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-input-jdbc-4.1.3/lib/logstash/plugin_mixins/jdbc.rb:134
logstash_1       |                      each at org/jruby/RubyArray.java:1613
logstash_1       |              load_drivers at /usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-input-jdbc-4.1.3/lib/logstash/plugin_mixins/jdbc.rb:132
logstash_1       |   prepare_jdbc_connection at /usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-input-jdbc-4.1.3/lib/logstash/plugin_mixins/jdbc.rb:146
logstash_1       |                  register at /usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-input-jdbc-4.1.3/lib/logstash/inputs/jdbc.rb:191
logstash_1       |           register_plugin at /usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:282
logstash_1       |          register_plugins at /usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:293
logstash_1       |                      each at org/jruby/RubyArray.java:1613
logstash_1       |          register_plugins at /usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:293
logstash_1       |              start_inputs at /usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:436
logstash_1       |             start_workers at /usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:337
logstash_1       |                       run at /usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:232
logstash_1       |            start_pipeline at /usr/share/logstash/logstash-core/lib/logstash/agent.rb:387

我写了路径... bin.jar但错误从文件名删除.jar。我写的..bin.jar.jar错误代码是..bin.jar但找不到该文件。

请帮帮我

谢谢

1 个答案:

答案 0 :(得分:1)

您为jdbc_driver_library参数设置的路径不存在于容器中。您必须在Docker映像中包含库文件,或者在运行Logstash容器时从主机挂载它。