Добавление шага или действия начальной загрузки в EMR 3.10 для копирования файла с локального на s3

Я использую Amazon EMR 3.10 для своих целей, когда я хочу скопировать файл с локального компьютера на Amazon S3 ... Я использую "script-runner.jar", где в аргументах я упоминаю команду в аргументах sudo aws s3 cp /home/hadoop/conf/hdfs-site.xml s3: // testbucket / myfolder / - рекурсивный .... Но шаг сбой и выдает следующее исключение:

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", как я могу использовать command-runner в EMR 3.10 ?? 2) Как я могу выполнить задачу копирования с помощью действия Bootstrap ??

Спасибо


person AKSHAY SHINGOTE    schedule 29.04.2016    source источник
comment
Если это действие произойдет до установки hadoop, файл conf не будет существовать, и вы получите исключение «файл не найден».   -  person Amal G Jose    schedule 30.04.2016


Ответы (2)


Если вы пытаетесь выполнить эту копию в действии начальной загрузки, обратите внимание, что пользователь hadoop не существует до завершения фазы начальной загрузки.

Это объяснило бы ошибку.

Выполнение операции копирования как шага EMR должно работать, поскольку к этому моменту hasoop будет установлен.

Дополнительные сведения см. В жизненном цикле EMR: здесь

person user7931736    schedule 17.01.2018

похоже, что программа не может найти локальный файл

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

Файл существует?

Вы также можете попробовать использовать хороший инструмент под названием s3cmd.

person Shimon Tolts    schedule 29.04.2016
comment
Ну, файл существует в этом месте .. Я хочу скопировать файл при запуске EMR, чтобы файл копировался либо с помощью шага, либо с помощью действия начальной загрузки ?? смогу ли я использовать s3cmd put --recursive dir1 s3: // s3tools-demo / some / path / command на этапе кластера EMR 3.10 ?? - person AKSHAY SHINGOTE; 29.04.2016