Elasticsearch / Logstash错误:com.mysql.jdbc.Driver未加载-在服务器上找不到mysql-connector-java-5.1.36-bin.jar

时间:2019-03-13 10:28:35

标签: elasticsearch jdbc amazon-ec2 logstash

我正在尝试在AWS EC2服务器上为Logstash安装jdbc插件,以便可以查询MySQL数据库。 Logstash工作正常,但我无法使JDBC插件正常工作。当我运行Logstash时,出现此错误:

  

错误:com.mysql.jdbc.Driver未加载。确定要包括在内吗   :jdbc_driver_library中正确的jdbc驱动程序?

我尝试基于此安装JDBC插件:

https://discuss.elastic.co/t/getting-started-with-jdbc-input-plugin/77162

安装看起来可以正常工作

[ec2-user@ settings]$ sudo /usr/share/logstash/bin/logstash-plugin install logstash-input-jdbc
Validating logstash-input-jdbc
Installing logstash-input-jdbc
Installation successful

但是,当我尝试找到mysql连接器的.jar文件时,该文件似乎在系统上不存在:

[ec2-user@ logstash]$ sudo find / -name "*connector-java*"

这是我的Logstash配置文件的样子:

input {
  jdbc {
    jdbc_driver_library => "mysql-connector-java-5.1.36-bin.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_connection_string => "jdbc:mysql://***:3306/website"
    jdbc_user => "***"
    jdbc_password => "***"
    statement => "SELECT * from runtime_ProdFull WHERE `MfPN` LIKE 'KO8%'"
  }
}

如何确定jdbc_driver_library的正确名称以及如何找到它的路径,以便可以将其添加到我的配置中?

谢谢, 菲尔

解决方案: 我从https://dev.mysql.com/downloads/connector/j/下载了最新的独立于平台的版本到我的PC,解压缩了mysql-connector-java-8.0.15.jar文件,并通过WinSCP上传到EC2服务器到/ var / lib / logstash /。 然后将jdbc驱动程序更改为:

jdbc_driver_library => "/var/lib/logstash/mysql-connector-java-8.0.15.jar"

1 个答案:

答案 0 :(得分:1)

您必须自己下载JDBC驱动程序。转到此website并为数据库下载适当的驱动程序,然后将其放在EC2中。然后,只需在此字段jdbc_driver_library中指定下载的驱动程序的路径,就可以了。