Amazon Elastic Map Reduce:在命令行工具中列出作业流问题?

时间:2013-07-21 13:10:58

标签: hadoop amazon-web-services cloudera elastic-map-reduce ganglia

我是亚马逊网络服务新手,我正在尝试使用命令行界面工具在亚马逊弹性地图减少作业上运行作业流程。

我按照本开发者指南的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>'

先谢谢,任何人都可以告诉我为什么我在列出工作流程时遇到上述错误。

4 个答案:

答案 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用于一般用途)

然后您可以尝试列出作业流程。 。 。