问题:
使用如下配置文件,logstash无法连接数据库:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20input { 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"} } }
错误提示信息截取:
复制代码
1
2
3
4
5
6
7#<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内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复