0

我在 EMR 的集群中运行以下步骤:

./elastic-mapreduce -j CLUSTERID -jar s3n://mybucket/somejar

                --main-class  SomeClass 
                --arg -conf --arg 's3n://mybucket/configuration.xml'

SomeClass 是 Hadoop 作业并实现 Runnable 接口。它读取 configuration.xml 的参数,但在上述命令中 SomeClass 无法访问“s3n://mybucket/configuration.xml”(未报告错误)。我试过“s3://mybucket/configuration.xml”,它也不起作用。我确定该文件存在,因为我可以使用“hadoop fs -ls s3n://mybucket/configuration.xml”看到它。对这个问题有什么建议吗?

谢谢,

4

1 回答 1

0

以下是尝试的选项

  1. 使用 s3 而不是 s3n。

  2. 检查 s3 存储桶的访问权限。

  3. 您可以指定日志位置,并且可以在作业失败后检查日志。您可以像下面这样创建作业

    elastic-mapreduce --create --name "j_flow_name" --log-uri "s3://your_s3_bucket"

它为您提供更多调试信息。

3.

./elastic-mapreduce -j JobFlowId -jar s3://your_bucket --arg "s3://your_conf_file_bucket_name" --arg "second parameter"

有关更多详细信息EMR CLI

于 2013-10-23T14:12:42.327 回答