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

标签 elasticsearch jdbc amazon-ec2 logstash

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

Error: com.mysql.jdbc.Driver not loaded. Are you sure you've included the correct jdbc driver in :jdbc_driver_library?

我尝试基于此安装 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/下载了最新的平台独立版本。到我的电脑,解压缩 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"

最佳答案

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

关于Elasticsearch/Logstash 错误 : com. mysql.jdbc.Driver 未加载 - 无法在服务器上找到 mysql-connector-java-5.1.36-bin.jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55139626/

相关文章:

ruby-on-rails-3 - mongodb CPU占用率高

elasticsearch - 使用作业异步地从Elasticsearch删除数据

elasticsearch - Elasticsearch 日期范围聚合

filter - Elasticsearch 。嵌套网络:弹性属性的术语过滤器

java - 连接空闲后出现 SQLException

java - MySQL 和 Java - 获取最后插入值的 id (JDBC)

java - EXECUTE 之后的事务计数表明 BEGIN 和 COMMIT 语句的数量不匹配。以前的计数

.net - 是否可以使用 AWS Elastic Beanstalk 部署到现有的 EC2 实例? 。网

java - Elasticsearch Java API - 使用 max_expansion 进行模糊搜索

amazon-web-services - AWS AutoScaling - 实例生命周期