连接mysql和logstash时出错

jhiyze9q  于 2021-06-10  发布在  ElasticSearch
关注(0)|答案(1)|浏览(525)

我在启动logstash时遇到了这个错误。我已经将mysql db配置为logstash中的输入。

Pipeline_id:main
  Plugin: <LogStash::Inputs::Jdbc jdbc_user=>"admin", jdbc_password=><password>, statement=>"SELECT * from table", jdbc_driver_library=>"/usr/s$
  Error: Permission denied - /.logstash_jdbc_last_run
  Exception: Errno::EACCES
  Stack: org/jruby/RubyIO.java:1237:in `sysopen'
org/jruby/RubyIO.java:3800:in `write'
k97glaaz

k97glaaz1#

lastţrunţmetadataţpath选项默认为“ţ{env['home']}/.logstashţjdbcţlastţrun”,它的计算结果似乎是/.logstashţjdbcţlastţrun。您获得eacces是因为您没有根目录的写访问权限。
若要修复此问题,请将last\u run\u metadata\u path选项设置为具有写访问权限的目录中的文件。如果您的输入配置以

input {
  jdbc {
    jdbc_driver_library => "mysql-connector-java-5.1.36-bin.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"

你可以在那里再加一行

last_run_metadata_path => "/tmp/.logstash_jdbc_last_run"

使用一些你知道可以写入的路径,其他人不会使用。

相关问题