我试着跟着一个课程的例子,还没有收到任何帮助,在常见问题解答的,尝试了一切,我可以找到在谷歌和这里。
我没有使用docker只是在我的本地机器(ubunutu18.04)上运行这个演示,elastic search和mysql都在运行。
当我运行“sudo bin/logstash-f/etc/logstash/conf.d/mysql.conf--path.settings/etc/logstash”时,我得到以下错误:com.mysql.jdbc.driver not loaded。您确定在jdbc\u driver\u库中包含了正确的jdbc驱动程序吗?驱动程序确实存在并且路径正确。
当我使用sudo bin/logstash--config.test_and_exit-f/etc/logstash/conf.d/mysql.conf时,它返回configuration ok。
我使用的是mysql-connector-java-5.1.47 openjdk version“1.8.0\u 181”openjdk运行时环境(build 1.8.0\u 181-8u181-b13-0ubuntu0.18.04.1-b13)openjdk 64位服务器vm(build 25.181-b13,混合模式)
elasticsearch-6.4.2日志存储-6.4.2
我的mysql.conf是
input {
jdbc {
jdbc_connection_string => "jdbc:mysql://localhost:3306/movielens"
jdbc_user => "grunt"
jdbc_password => "password"
jdbc_driver_library => "/home/alarik/mysql-connecter-java-5.1.47/mysql-connector-java-5.1.47-bin.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
statement => "SELECT * FROM movies"
}
}
output {
stdout { codec => json_lines }
elasticsearch {
"hosts" => "localhost:9200"
"index" => "movielens-sql"
"document_type" => "data"
}
}
1条答案
按热度按时间41zrol4v1#
我解决了这个问题:
首先检查java版本:
如果您使用的是1.8,那么应该使用jdbc42版本。
如果您使用的是1.7,那么应该使用jdbc41版本。
如果您使用的是1.6,那么应该使用jdbc43版本。
mysql设置:
mysql-connector-java-5.1.46.jar