amazon-archives / logstash-input-dynamodb

This input plugin for Logstash scans a specified DynamoDB table and then reads changes to a DynamoDB table from the associated DynamoDB Stream.This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline. This gem is not a stand-alone program.
Apache License 2.0
105 stars 27 forks source link

you might need to reinstall the gem which depends on the missing jar or in case there is Jars.lock then resolve the jars with `lock_jars` command #3

Closed milodky closed 9 years ago

milodky commented 9 years ago

I followed the instructions provided here(https://github.com/awslabs/logstash-input-dynamodb#test) However I got a RuntimeError:

you might need to reinstall the gem which depends on the missing jar or in case there is Jars.lock then resolve the jars with `lock_jars` command

no such file to load -- com/amazonaws/aws-java-sdk-elasticbeanstalk/1.10.11/aws-java-sdk-elasticbeanstalk-1.10.11 (LoadError) do_require at /home/xye/.rvm/gems/jruby-1.7.10/gems/jar-dependencies-0.2.3/lib/jar_dependencies.rb:309 require_jar at /home/xye/.rvm/gems/jruby-1.7.10/gems/jar-dependencies-0.2.3/lib/jar_dependencies.rb:228 require_jar_with_block at /home/xye/.rvm/gems/jruby-1.7.10/gems/jar-dependencies-0.2.3/lib/jar_dependencies.rb:0 require_jar at /home/xye/.rvm/gems/jruby-1.7.10/gems/jar-dependencies-0.2.3/lib/jar_dependencies.rb:227 require_jar at /home/xye/.rvm/gems/jruby-1.7.10/gems/jar-dependencies-0.2.3/lib/jar_dependencies.rb:318 (root) at /home/xye/Documents/Work/logstash/logstash-input-dynamodb/lib/logstash-input-dynamodb_jars.rb:4 require at org/jruby/RubyKernel.java:1083 require at /home/xye/.rvm/gems/jruby-1.7.10/gems/polyglot-0.3.5/lib/polyglot.rb:65 (root) at /home/xye/Documents/Work/logstash/logstash-input-dynamodb/lib/logstash/inputs/DynamoDBLogParser.rb:1 require at org/jruby/RubyKernel.java:1083 require at /home/xye/.rvm/gems/jruby-1.7.10/gems/polyglot-0.3.5/lib/polyglot.rb:65 (root) at /home/xye/Documents/Work/logstash/logstash-input-dynamodb/lib/logstash/inputs/DynamoDBLogParser.rb:23 require at org/jruby/RubyKernel.java:1083 (root) at /home/xye/Documents/Work/logstash/logstash-input-dynamodb/spec/spec_helper.rb:1 load at org/jruby/RubyKernel.java:1099 (root) at /home/xye/Documents/Work/logstash/logstash-input-dynamodb/spec/spec_helper.rb:99 each at org/jruby/RubyArray.java:1613 (root) at /home/xye/Documents/Work/logstash/logstash-input-dynamodb/spec/inputs/dynamodb_spec.rb:1 (root) at /home/xye/Documents/Work/logstash/logstash-input-dynamodb/spec/inputs/dynamodb_spec.rb:17 (root) at /home/xye/.rvm/gems/jruby-1.7.10/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1 load_spec_files at /home/xye/.rvm/gems/jruby-1.7.10/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1105 load_spec_files at /home/xye/.rvm/gems/jruby-1.7.10/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1105 setup at /home/xye/.rvm/gems/jruby-1.7.10/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:96 load at org/jruby/RubyKernel.java:1099 run at /home/xye/.rvm/gems/jruby-1.7.10/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:84 eval at org/jruby/RubyKernel.java:1119 (root) at /home/xye/.rvm/gems/jruby-1.7.10/bin/jruby_executable_hooks:15

I'm using ubuntu 14.10.

Thanks.

raymolin commented 9 years ago

Can you take a look through this document and see if the instructions are more clear here? http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tools.DynamoDBLogstash.html

milodky commented 9 years ago

@raymolin Thanks for your quick reply.

I've read that doc and followed its instructions also. But it gave me an error:

sudo bin/plugin install --no-verify /home/xye/Documents/Work/logstash/logstash-input-dynamodb/logstash-input-dynamodb-1.0.0-java.gem Installing logstash-input-dynamodb Error Bundler::InstallError, retrying 1/10 An error occurred while installing logstash-input-dynamodb (1.0.0), and Bundler cannot continue. Make sure that gem install logstash-input-dynamodb -v '1.0.0' succeeds before bundling.

Actually when I call gem install logstash-input-dynamodb -v '1.0.0 with jruby, it worked. It doesn't matter if I set sudo there or not and version of logstash is 1.5.4 and I'm using jruby.

Thanks.

marcosnils commented 9 years ago

@milodky I remember having similar problems when playing around with this. Finally I created a docker container which I'm using in dev / production for this purposes. You can check how I install in the plugins in the dockerfile here: https://hub.docker.com/r/mantika/logstash-dynamodb-streams/~/dockerfile/

milodky commented 9 years ago

@marcosnils Thanks for your suggestion! But actually I don't have enough time to set up the docker stuff(no background at all) :(

marcosnils commented 9 years ago

@milodky you don't need to setup the docker stuff. Just check what the dockerfile does in order to install the plugins. Try doing that in your system to see if it works.

milodky commented 9 years ago

It is solved by using the newer branch with the dockerfile. see https://github.com/awslabs/logstash-input-dynamodb/pull/2