我是亚马逊网络服务新手,我正在尝试使用命令行界面工具在亚马逊弹性地图减少作业上运行作业流程。
我按照本开发者指南的amazon开发人员指南中的步骤进行了操作。但是事情并没有让我清楚。
如果我执行命令 ./ elastic-mapreduce --list 列出工作流程。显示以下错误。
/home/pdurai/Applications/elastic-mapreduce-cli/amazon/coral/httpdestinationhandler.rb:23: warning: else without rescue is useless
/usr/local/rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': /home/pdurai/Applications/elastic-mapreduce-cli/amazon/coral/httpdestinationhandler.rb:19: syntax error, unexpected ':', expecting keyword_then or ',' or ';' or '\n' (SyntaxError)
/home/pdurai/Applications/elastic-mapreduce-cli/amazon/coral/httpdestinationhandler.rb:36: syntax error, unexpected keyword_end, expecting $end
from /usr/local/rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /home/pdurai/Applications/elastic-mapreduce-cli/amazon/coral/awsquery.rb:6:in `<top (required)>'
from /usr/local/rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /usr/local/rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /home/pdurai/Applications/elastic-mapreduce-cli/amazon/coral/service.rb:8:in `<top (required)>'
from /usr/local/rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /usr/local/rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /home/pdurai/Applications/elastic-mapreduce-cli/amazon/coral/elasticmapreduceclient.rb:6:in `<top (required)>'
from /usr/local/rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /usr/local/rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /home/pdurai/Applications/elastic-mapreduce-cli/client.rb:6:in `<top (required)>'
from /usr/local/rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /usr/local/rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /home/pdurai/Applications/elastic-mapreduce-cli/commands.rb:7:in `<top (required)>'
from /usr/local/rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /usr/local/rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /home/pdurai/Applications/elastic-mapreduce-cli/elastic-mapreduce-cli.rb:5:in `<top (required)>'
from /usr/local/rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /usr/local/rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from ./elastic-mapreduce:6:in `<main>'
先谢谢,任何人都可以告诉我为什么我在列出工作流程时遇到上述错误。
答案 0 :(得分:4)
使用以下命令检查avilable rvm
$ rvm list
它会显示:
ruby-1.8.7-p374
ruby-2.0.0-p247
然后你应该使用以下命令指定rvm版本
$ rvm use 1.8.7
然后您可以尝试列出作业流程。 。 。
答案 1 :(得分:2)
如果rvm
不适合您,您可以尝试更改Current
符号链接:
cd /System/Library/Frameworks/Ruby.framework/Versions
sudo rm Current
sudo ln -s 1.8 Current
您可能需要调整第3个参数以指向正确的版本。
答案 2 :(得分:1)
我建议您首先使用服务控制台了解如何执行此过程。
您的命令行工具似乎无法正确连接。也许这是您的access_key和secret_key的问题。
答案 3 :(得分:0)
as @sasikkumar回答但是用rbenv
$ rbenv versions
它会显示:
1.8.7-p370
* 1.9.3-p194 (set by /PATH_NEEDED/.ruby-version)
(可选)如果1.8.7-p370没有出现
$ rbenv install 1.8.7-p370
然后你应该使用以下命令
来指定rbenv版本 $ rbenv local 1.8.7-p370
(local
,因为它将在PATH_NEEDED上使用,但您可以将global
用于一般用途)
然后您可以尝试列出作业流程。 。 。