com.mysql.jdbc.Driver 未加载。您确定在 :jdbc_driver_library 中包含了正确的 jdbc 驱动程序吗
com.mysql.jdbc.Driver not loaded. Are you sure you've included the correct jdbc driver in :jdbc_driver_library
我得到 java 版本和 mysql-connect-java.jar 与 logstash 的兼容性问题。
谁能告诉我哪个版本的 mysql-connect-java.jar 与哪个版本的 java 兼容?
错误:
com.mysql.cj.jdbc.Driver not loaded. Are you sure you've included the correct jdbc driver in :jdbc_driver_library?
我当前的 java 版本是
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b03-0ubuntu1.16.04.1-b03)
OpenJDK 64-Bit Server VM (build 25.212-b03, mixed mode)
我已尝试使用以下 mysql 个连接器 jar 文件,但每一个都失败了。
mysql-connector-java-8.0.16.jar
mysql-connector-java-8.0.15.jar
mysql-connector-java-6.0.5.jar
mysql-connector-java-5.1.46.jar
mysql-connector-java-5.1.4.jar
Logstash 配置文件是 mysql.conf
input {
jdbc {
jdbc_connection_string => "jdbc:mysql://localhost:3306/prbi"
jdbc_user => "root"
jdbc_password => ""
jdbc_driver_library => "mysql-connector-java-8.0.15.jar" #tried above every jar
jdbc_driver_class => "com.mysql.cj.jdbc.Driver" #tried com.mysql.jdbc.Driver too
schedule => "* * * * *"
use_column_value => true
tracking_column => "%{id}"
clean_run => true
statement => "SELECT * from tmp_j_summaryrepor"
}
}
output {
elasticsearch {
hosts => ['http://localhost:9200']
index => "prsummaryreport"
document_type => "prsummaryreport"
document_id => "%{id}" # It is a Primary Key of table
}
stdout { codec => json_lines }
}
Logstash 无法加载驱动程序,因为它在错误的位置寻找驱动程序,您应该始终指定驱动程序的完整路径,例如:
jdbc_driver_library => "/opt/drivers/mysql-connector-java-8.0.15.jar"
对于 logstash 6.2.x 及更高版本,更喜欢在以下位置添加驱动程序:
/usr/share/logstash/logstash-core/lib/jars/
而是让 jdbc_driver_library
为空。许多 elastic.co 论坛也引用了这一点。
在我的例子中,我将jdbc_driver_library
的完整路径指定为:"/opt/drivers/mysql-connector-java-8.0.15.jar"
它在重新启动之前工作正常,然后突然开始抛出错误。
我发现由于某种原因 jdbc.jar
文件已损坏,大小已更改为 0KB。我重新下载了 Jar,将其放入完整路径并重新启动。
所以您可能只想检查您的 jdbc 文件是否正常。不应该是0KB。
我得到 java 版本和 mysql-connect-java.jar 与 logstash 的兼容性问题。
谁能告诉我哪个版本的 mysql-connect-java.jar 与哪个版本的 java 兼容?
错误:
com.mysql.cj.jdbc.Driver not loaded. Are you sure you've included the correct jdbc driver in :jdbc_driver_library?
我当前的 java 版本是
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b03-0ubuntu1.16.04.1-b03)
OpenJDK 64-Bit Server VM (build 25.212-b03, mixed mode)
我已尝试使用以下 mysql 个连接器 jar 文件,但每一个都失败了。
mysql-connector-java-8.0.16.jar
mysql-connector-java-8.0.15.jar
mysql-connector-java-6.0.5.jar
mysql-connector-java-5.1.46.jar
mysql-connector-java-5.1.4.jar
Logstash 配置文件是 mysql.conf
input {
jdbc {
jdbc_connection_string => "jdbc:mysql://localhost:3306/prbi"
jdbc_user => "root"
jdbc_password => ""
jdbc_driver_library => "mysql-connector-java-8.0.15.jar" #tried above every jar
jdbc_driver_class => "com.mysql.cj.jdbc.Driver" #tried com.mysql.jdbc.Driver too
schedule => "* * * * *"
use_column_value => true
tracking_column => "%{id}"
clean_run => true
statement => "SELECT * from tmp_j_summaryrepor"
}
}
output {
elasticsearch {
hosts => ['http://localhost:9200']
index => "prsummaryreport"
document_type => "prsummaryreport"
document_id => "%{id}" # It is a Primary Key of table
}
stdout { codec => json_lines }
}
Logstash 无法加载驱动程序,因为它在错误的位置寻找驱动程序,您应该始终指定驱动程序的完整路径,例如:
jdbc_driver_library => "/opt/drivers/mysql-connector-java-8.0.15.jar"
对于 logstash 6.2.x 及更高版本,更喜欢在以下位置添加驱动程序:
/usr/share/logstash/logstash-core/lib/jars/
而是让 jdbc_driver_library
为空。许多 elastic.co 论坛也引用了这一点。
在我的例子中,我将jdbc_driver_library
的完整路径指定为:"/opt/drivers/mysql-connector-java-8.0.15.jar"
它在重新启动之前工作正常,然后突然开始抛出错误。
我发现由于某种原因 jdbc.jar
文件已损坏,大小已更改为 0KB。我重新下载了 Jar,将其放入完整路径并重新启动。
所以您可能只想检查您的 jdbc 文件是否正常。不应该是0KB。