使用Logstash将数据从Postgres导出到ElasticSearch会给出LoadError:没有要加载的文件--pg

使用Logstash将数据从Postgres导出到ElasticSearch会给出LoadError:没有要加载的文件--pg,logstash,elastic-stack,logstash-jdbc,Logstash,Elastic Stack,Logstash Jdbc,我正在尝试使用Logstash将数据从Postgres导出到ElasticSearch 这是我的conf文件,路径为“/etc/logstash/conf.d” 现在,我尝试使用以下命令运行logstash: /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/pg-to-elastic.conf 但我得到了以下错误: [ERROR] 2019-12-28 14:50:38.339 [[main]<jdbc] jdbc - U

我正在尝试使用Logstash将数据从Postgres导出到ElasticSearch

这是我的conf文件,路径为“/etc/logstash/conf.d

现在,我尝试使用以下命令运行logstash:

/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/pg-to-elastic.conf
但我得到了以下错误:

[ERROR] 2019-12-28 14:50:38.339 [[main]<jdbc] jdbc - Unable to connect to database. Tried 1 times {:error_message=>"LoadError: no such file to load -- pg"}
[ERROR] 2019-12-28 14:50:38.361 [[main]<jdbc] javapipeline - A plugin had an unrecoverable error. Will restart this plugin.
  Pipeline_id:main
  Plugin: <LogStash::Inputs::Jdbc jdbc_user=>"panzura", jdbc_validate_connection=>true, jdbc_password=><password>, statement=>"SELECT * from file", jdbc_driver_library=>"/etc/logstash/jdbc-drivers/postgresql-42.2.9.jar", jdbc_connection_string=>"postgresql://localhost:5432/panzura", id=>"07d4c82d79b5f028b0563465cafb72e0dfbc5833c51be9658f8dd516f69a0fbf", jdbc_driver_class=>"org.postgresql.Driver", enable_metric=>true, codec=><LogStash::Codecs::Plain id=>"plain_d31ea3e3-207b-41c3-9593-f2139bdb2b55", enable_metric=>true, charset=>"UTF-8">, jdbc_paging_enabled=>false, jdbc_page_size=>100000, jdbc_validation_timeout=>3600, jdbc_pool_timeout=>5, sql_log_level=>"info", connection_retry_attempts=>1, connection_retry_attempts_wait_time=>0.5, plugin_timezone=>"utc", last_run_metadata_path=>"/home/alcanzar/.logstash_jdbc_last_run", use_column_value=>false, tracking_column_type=>"numeric", clean_run=>false, record_last_run=>true, lowercase_column_names=>true, use_prepared_statements=>false>
  Error: LoadError: no such file to load -- pg
  Exception: Sequel::AdapterNotFound
  Stack: org/jruby/RubyKernel.java:987:in `require'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/sequel-5.27.0/lib/sequel/adapters/postgres.rb:6:in `<main>'
org/jruby/RubyKernel.java:987:in `require'
org/jruby/RubyKernel.java:1015:in `require_relative'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/sequel-5.27.0/lib/sequel/adapters/postgresql.rb:1:in `<main>'
org/jruby/RubyKernel.java:987:in `require'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/sequel-5.27.0/lib/sequel/database/connecting.rb:88:in `load_adapter'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/sequel-5.27.0/lib/sequel/database/connecting.rb:17:in `adapter_class'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/sequel-5.27.0/lib/sequel/database/connecting.rb:36:in `connect'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/sequel-5.27.0/lib/sequel/core.rb:121:in `connect'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.19/lib/logstash/plugin_mixins/jdbc/jdbc.rb:120:in `block in jdbc_connect'
org/jruby/RubyKernel.java:1425:in `loop'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.19/lib/logstash/plugin_mixins/jdbc/jdbc.rb:117:in `jdbc_connect'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.19/lib/logstash/plugin_mixins/jdbc/jdbc.rb:184:in `open_jdbc_connection'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.19/lib/logstash/plugin_mixins/jdbc/jdbc.rb:243:in `execute_statement'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.19/lib/logstash/inputs/jdbc.rb:309:in `execute_query'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.19/lib/logstash/inputs/jdbc.rb:281:in `run'
/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:322:in `inputworker'
/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:314:in `block in start_input'
...
...
我无法解决这个问题。

我也有同样的问题! 我花了两天时间试图找到解决办法。我只是给所有用户对pipeline.conf文件的读写权限(我使用的是Mac OS),而不是写:
“Users/user/Desktop/postgresql-42.2.9.jar”,您写道:“~/Desktop/postgresql-42.2.9.jar”

jdbc的输入过滤器在您的帖子中似乎是正确的,除非上述路径中缺少其中一个值。我之所以这么说,是因为您在那里放置的堆栈中的错误信息
异常:Sequel::AdapterNotFound
您是否使用正常方式连接到Postgres?像
pgAdmin
etc@JBone,我将该数据库与其他应用程序一起使用,它工作正常,并且我能够使用给定的凭据连接到它。我可以使用Node应用程序和DBeaver应用程序连接到。
[ERROR] 2019-12-28 14:50:38.339 [[main]<jdbc] jdbc - Unable to connect to database. Tried 1 times {:error_message=>"LoadError: no such file to load -- pg"}
[ERROR] 2019-12-28 14:50:38.361 [[main]<jdbc] javapipeline - A plugin had an unrecoverable error. Will restart this plugin.
  Pipeline_id:main
  Plugin: <LogStash::Inputs::Jdbc jdbc_user=>"panzura", jdbc_validate_connection=>true, jdbc_password=><password>, statement=>"SELECT * from file", jdbc_driver_library=>"/etc/logstash/jdbc-drivers/postgresql-42.2.9.jar", jdbc_connection_string=>"postgresql://localhost:5432/panzura", id=>"07d4c82d79b5f028b0563465cafb72e0dfbc5833c51be9658f8dd516f69a0fbf", jdbc_driver_class=>"org.postgresql.Driver", enable_metric=>true, codec=><LogStash::Codecs::Plain id=>"plain_d31ea3e3-207b-41c3-9593-f2139bdb2b55", enable_metric=>true, charset=>"UTF-8">, jdbc_paging_enabled=>false, jdbc_page_size=>100000, jdbc_validation_timeout=>3600, jdbc_pool_timeout=>5, sql_log_level=>"info", connection_retry_attempts=>1, connection_retry_attempts_wait_time=>0.5, plugin_timezone=>"utc", last_run_metadata_path=>"/home/alcanzar/.logstash_jdbc_last_run", use_column_value=>false, tracking_column_type=>"numeric", clean_run=>false, record_last_run=>true, lowercase_column_names=>true, use_prepared_statements=>false>
  Error: LoadError: no such file to load -- pg
  Exception: Sequel::AdapterNotFound
  Stack: org/jruby/RubyKernel.java:987:in `require'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/sequel-5.27.0/lib/sequel/adapters/postgres.rb:6:in `<main>'
org/jruby/RubyKernel.java:987:in `require'
org/jruby/RubyKernel.java:1015:in `require_relative'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/sequel-5.27.0/lib/sequel/adapters/postgresql.rb:1:in `<main>'
org/jruby/RubyKernel.java:987:in `require'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/sequel-5.27.0/lib/sequel/database/connecting.rb:88:in `load_adapter'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/sequel-5.27.0/lib/sequel/database/connecting.rb:17:in `adapter_class'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/sequel-5.27.0/lib/sequel/database/connecting.rb:36:in `connect'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/sequel-5.27.0/lib/sequel/core.rb:121:in `connect'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.19/lib/logstash/plugin_mixins/jdbc/jdbc.rb:120:in `block in jdbc_connect'
org/jruby/RubyKernel.java:1425:in `loop'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.19/lib/logstash/plugin_mixins/jdbc/jdbc.rb:117:in `jdbc_connect'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.19/lib/logstash/plugin_mixins/jdbc/jdbc.rb:184:in `open_jdbc_connection'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.19/lib/logstash/plugin_mixins/jdbc/jdbc.rb:243:in `execute_statement'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.19/lib/logstash/inputs/jdbc.rb:309:in `execute_query'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.19/lib/logstash/inputs/jdbc.rb:281:in `run'
/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:322:in `inputworker'
/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:314:in `block in start_input'
...
...
Unable to connect to database. Tried 1 times {:error_message=>"LoadError: no such file to load -- pg"}