我是靠谱客的博主 清秀斑马,最近开发中收集的这篇文章主要介绍Logstash 使用JDBC的注意事项,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

问题:

使用如下配置文件,logstash无法连接数据库:

input {
		jdbc {
		jdbc_driver_library => "../connector/mysql-connector-java-5.0.8.jar"
		jdbc_driver_class => "com.mysql.jdbc.Driver"
		jdbc_connection_string => "jdbc:mysql://10.219.56.141:3306/shopfloor"
		jdbc_user => "user"
		jdbc_password => "password"
		schedule => "* * * * *"
		clean_run => "false"
		statement_filepath => "SQLcr1top35.sql"
		jdbc_paging_enabled => "true"
		jdbc_page_size => "100000"
		use_column_value => true
		tracking_column => "tracking"
		tracking_column_type => "numeric"
		last_run_metadata_path => "metacr1top35"
		type => "cr1top35"
		add_field => {"calmodule" => "op30_5"}
	}
} 

错误提示信息截取:

#<Sequel::DatabaseConnectionError: 
Java::JavaSql::SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required>, 
:backtrace=>
["com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(com/mysql/cj/jdbc/exceptions/SQLError.java:108)", 
"com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(com/mysql/cj/jdbc/exceptions/SQLError.java:95)", 
"com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(com/mysql/cj/jdbc/exceptions/SQLError.java:87)", 
"com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(com/mysql/cj/jdbc/exceptions/SQLError.java:61)",

分析:

很奇怪的是,我用的mysql jdbc连接方式是"com.mysql.jdbc.Driver",为什么这里会出现“com.mysql.cj.jdbc”的提示呢?于是想到了我之前曾经将mysql-connector-java-8.0.11.jar放在LOGSTASH/logstash-core/lib/jars里面,而com.mysql.cj.jdbc是8.0.11推荐使用的模式。

尝试将LOGSTASH/logstash-core/lib/jars里面的mysql-connector-java-8.0.11.jar删除,问题解决。

结论:

使用JDBC插件的时候,Logstash首先在LOGSTASH/logstash-core/lib/jars里面查找连接Jar包,如果找到,直接就用这个Jar包进行连接,即便你在.conf文件里指定了jdbc的路径,也会被忽略。

 

最后

以上就是清秀斑马为你收集整理的Logstash 使用JDBC的注意事项的全部内容,希望文章能够帮你解决Logstash 使用JDBC的注意事项所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部