【问题标题】:Adding a step or bootstrap action in EMR 3.10 to copy a file from local to s3在 EMR 3.10 中添加步骤或引导操作以将文件从本地复制到 s3
【发布时间】:2018-01-17 21:39:52
【问题描述】:

我将 Amazon EMR 3.10 用于我想将文件从本地复制到 Amazon S3 的目的...我在参数中使用“script-runner.jar”,我在参数中提到了一个命令sudo aws s3 cp /home/hadoop/conf/hdfs-site.xml s3://testbucket/myfolder/--recursive ....但是该步骤失败并抛出以下异常:

Exception in thread "main" java.lang.RuntimeException: Local file does not exist.
at com.amazon.elasticmapreduce.scriptrunner.ScriptRunner.fetchFile(ScriptRunner.java:30)
at com.amazon.elasticmapreduce.scriptrunner.ScriptRunner.main(ScriptRunner.java:56)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.main(RunJar.java:212)

在步骤中我需要做什么才能将文件从本地复制到 Amazon S3?另外我想提几个问题??
1 ) 如果我需要使用“command-runner.jar”,如何在 EMR 3.10 中使用 command-runner ? 2) 如何使用 Bootstrap 操作完成复制任务?

谢谢

【问题讨论】:

  • 如果此活动发生在 hadoop 安装之前,conf 文件将不存在,您将收到 file not found 异常。

标签: hadoop amazon-web-services amazon-s3 amazon-emr


【解决方案1】:

如果您尝试在引导操作中执行此复制,请注意 在引导阶段完成之前,hadoop 用户不存在。

这可以解释错误。

作为 EMR 步骤执行复制操作应该可以工作,因为此时已安装 hadoop。

有关详细信息,请参阅 EMR 的生命周期:here

【讨论】:

    【解决方案2】:

    程序好像找不到本地文件

    /home/hadoop/conf/hdfs-site.xml
    

    文件是否存在?

    您也可以尝试使用名为 s3cmd 的好工具

    【讨论】:

    • 那么文件存在于那个位置。我想在启动 EMR 时复制文件,以便通过步骤或引导操作复制文件??我可以在 EMR 3.10 集群的步骤中使用“s3cmd put --recursive dir1 s3://s3tools-demo/some/path/”命令吗??
    猜你喜欢
    • 1970-01-01
    • 2020-03-26
    • 2020-10-30
    • 2020-06-19
    • 2017-01-16
    • 2011-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多